From patchwork Thu May 3 16:29:40 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Benjamin Kosnik X-Patchwork-Id: 156744 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id B9606B6FBD for ; Fri, 4 May 2012 02:30:37 +1000 (EST) Comment: DKIM? See http://www.dkim.org DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=gcc.gnu.org; s=default; x=1336667439; h=Comment: DomainKey-Signature:Received:Received:Received:Received:Received: Date:From:To:Subject:Message-ID:Mime-Version:Content-Type: Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:Sender:Delivered-To; bh=cjVt1moxfF4S9MxXHs8k VI5CLI8=; b=jHtuST6qBEoB4Q2Tl3uStykR6V/TkZ7FhxTa7bB58/R/mId1MCEp YWuJRJJGnUir0dj7a4mPUKUo0cVWIkYwTOJQzcCCJ1LKwAC2qGhPq0I098ltvOJs At5Rfw0wXKGTNR6IhInnXPWE9y8ExxghMFaqvF4dj6RRTDN8VCOMwQI= Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=gcc.gnu.org; h=Received:Received:X-SWARE-Spam-Status:X-Spam-Check-By:Received:Received:Received:Date:From:To:Subject:Message-ID:Mime-Version:Content-Type:Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:Sender:Delivered-To; b=IOVVOyrwRlQw19V2OHh3FsKx6LFDrmPRHCBOHA8NJE0aKXPlD273SPLTrHLY6l aLumeAnUnkI6E7JkZAvXMduheOy6K8LUJHMRX3fkdqjvJzk+eerm1ouSQ3kR3EEw Oh1XzEICSeEj3YuafUiuLBffONXns/K8w695QLVJWlbR0=; Received: (qmail 23336 invoked by alias); 3 May 2012 16:30:04 -0000 Received: (qmail 23170 invoked by uid 22791); 3 May 2012 16:29:48 -0000 X-SWARE-Spam-Status: No, hits=-5.9 required=5.0 tests=AWL, BAYES_00, KHOP_RCVD_UNTRUST, RCVD_IN_DNSWL_HI, RCVD_IN_HOSTKARMA_W, SPF_HELO_PASS, T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 03 May 2012 16:29:27 +0000 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q43GTR3t024871 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 3 May 2012 12:29:27 -0400 Received: from adair (ovpn-113-131.phx2.redhat.com [10.3.113.131]) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id q43GTQHM014934; Thu, 3 May 2012 12:29:26 -0400 Date: Thu, 3 May 2012 09:29:40 -0700 From: Benjamin De Kosnik To: gcc-patches@gcc.gnu.org, libstdc++@gcc.gnu.org Subject: [v3] doxygen markup for template parameters Message-ID: <20120503092940.65baf7f3@adair> Mime-Version: 1.0 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org 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 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 container, a * reversible container, and a * sequence. 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 container, a * sequence, including the * optional sequence requirements 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 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 container, a * reversible container, and a * sequence, 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 container, a * reversible container, and a * sequence, 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. + * * Meets the requirements of a container, a * reversible container, and an * associative container (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. + * * Meets the requirements of a container, a * reversible container, and an * associative container (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 container, a * reversible container, and an * associative container (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 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 * container, * 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 container, a * reversible container, and an * associative container (using unique keys). * * Sets support bidirectional iterators. * - * @tparam _Key Type of key objects. - * @tparam _Compare Comparison function object type, defaults to less. - * @tparam _Alloc Allocator type, defaults to allocator. - * * 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 * container, * 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 container, a * reversible container, and a * sequence, 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 container, and - * unordered associative container - * * @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 container, and + * unordered associative container + * * The resulting value type of the container is std::pair. * * 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 container, and - * unordered associative container - * * @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 container, and + * unordered associative container + * * The resulting value type of the container is std::pair. * * 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 container, and - * unordered associative container - * * @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 container, and + * unordered associative container + * * 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 container, and - * unordered associative container - * * @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 container, and + * unordered associative container + * * 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 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 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::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::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 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 @@ // . // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1696 } +// { dg-error "no matching" "" { target *-*-* } 1699 } #include 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 @@ // . // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1629 } +// { dg-error "no matching" "" { target *-*-* } 1632 } #include 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 @@ // . // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1629 } +// { dg-error "no matching" "" { target *-*-* } 1632 } #include #include 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 @@ // . // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1780 } +// { dg-error "no matching" "" { target *-*-* } 1783 } #include 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 @@ // . // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1568 } +// { dg-error "no matching" "" { target *-*-* } 1571 } #include 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 @@ // . // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1524 } +// { dg-error "no matching" "" { target *-*-* } 1527 } #include 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 @@ // . // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1524 } +// { dg-error "no matching" "" { target *-*-* } 1527 } #include #include 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 @@ // . // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1524 } +// { dg-error "no matching" "" { target *-*-* } 1527 } #include 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 @@ // . // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1233 } +// { dg-error "no matching" "" { target *-*-* } 1236 } #include 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 @@ // . // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1163 } +// { dg-error "no matching" "" { target *-*-* } 1166 } #include 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 @@ // . // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1163 } +// { dg-error "no matching" "" { target *-*-* } 1166 } #include #include 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 @@ // . // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1274 } +// { dg-error "no matching" "" { target *-*-* } 1277 } #include