diff options
Diffstat (limited to 'libstdc++-v3/include')
32 files changed, 226 insertions, 781 deletions
diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in index 47ddc5b..cf24e6a 100644 --- a/libstdc++-v3/include/Makefile.in +++ b/libstdc++-v3/include/Makefile.in @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,15 +13,11 @@ # PARTICULAR PURPOSE. @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -110,42 +106,13 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -ENABLE_PARALLEL_FALSE = @ENABLE_PARALLEL_FALSE@ -ENABLE_PARALLEL_TRUE = @ENABLE_PARALLEL_TRUE@ -ENABLE_SYMVERS_DARWIN_FALSE = @ENABLE_SYMVERS_DARWIN_FALSE@ -ENABLE_SYMVERS_DARWIN_TRUE = @ENABLE_SYMVERS_DARWIN_TRUE@ -ENABLE_SYMVERS_FALSE = @ENABLE_SYMVERS_FALSE@ -ENABLE_SYMVERS_GNU_FALSE = @ENABLE_SYMVERS_GNU_FALSE@ -ENABLE_SYMVERS_GNU_NAMESPACE_FALSE = @ENABLE_SYMVERS_GNU_NAMESPACE_FALSE@ -ENABLE_SYMVERS_GNU_NAMESPACE_TRUE = @ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@ -ENABLE_SYMVERS_GNU_TRUE = @ENABLE_SYMVERS_GNU_TRUE@ -ENABLE_SYMVERS_TRUE = @ENABLE_SYMVERS_TRUE@ -ENABLE_VISIBILITY_FALSE = @ENABLE_VISIBILITY_FALSE@ -ENABLE_VISIBILITY_TRUE = @ENABLE_VISIBILITY_TRUE@ ERROR_CONSTANTS_SRCDIR = @ERROR_CONSTANTS_SRCDIR@ EXEEXT = @EXEEXT@ EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@ FGREP = @FGREP@ -GLIBCXX_BUILD_DEBUG_FALSE = @GLIBCXX_BUILD_DEBUG_FALSE@ -GLIBCXX_BUILD_DEBUG_TRUE = @GLIBCXX_BUILD_DEBUG_TRUE@ -GLIBCXX_BUILD_PCH_FALSE = @GLIBCXX_BUILD_PCH_FALSE@ -GLIBCXX_BUILD_PCH_TRUE = @GLIBCXX_BUILD_PCH_TRUE@ -GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE = @GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE@ -GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE = @GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE@ -GLIBCXX_C_HEADERS_C_FALSE = @GLIBCXX_C_HEADERS_C_FALSE@ -GLIBCXX_C_HEADERS_C_GLOBAL_FALSE = @GLIBCXX_C_HEADERS_C_GLOBAL_FALSE@ -GLIBCXX_C_HEADERS_C_GLOBAL_TRUE = @GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@ -GLIBCXX_C_HEADERS_C_STD_FALSE = @GLIBCXX_C_HEADERS_C_STD_FALSE@ -GLIBCXX_C_HEADERS_C_STD_TRUE = @GLIBCXX_C_HEADERS_C_STD_TRUE@ -GLIBCXX_C_HEADERS_C_TRUE = @GLIBCXX_C_HEADERS_C_TRUE@ -GLIBCXX_C_HEADERS_EXTRA_FALSE = @GLIBCXX_C_HEADERS_EXTRA_FALSE@ -GLIBCXX_C_HEADERS_EXTRA_TRUE = @GLIBCXX_C_HEADERS_EXTRA_TRUE@ -GLIBCXX_HOSTED_FALSE = @GLIBCXX_HOSTED_FALSE@ -GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@ GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@ -GLIBCXX_LDBL_COMPAT_FALSE = @GLIBCXX_LDBL_COMPAT_FALSE@ -GLIBCXX_LDBL_COMPAT_TRUE = @GLIBCXX_LDBL_COMPAT_TRUE@ GREP = @GREP@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -162,9 +129,8 @@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ NM = @NM@ OBJEXT = @OBJEXT@ OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@ @@ -190,13 +156,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_FLAGS = @WARN_FLAGS@ WERROR = @WERROR@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_AS = @ac_ct_AS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ @@ -207,8 +173,12 @@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ check_msgfmt = @check_msgfmt@ datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ enable_shared = @enable_shared@ enable_static = @enable_static@ exec_prefix = @exec_prefix@ @@ -228,29 +198,36 @@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ +htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ libtool_VERSION = @libtool_VERSION@ +localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ port_specific_symbol_files = @port_specific_symbol_files@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ toplevel_srcdir = @toplevel_srcdir@ # May be used by various substitution variables. @@ -1126,10 +1103,6 @@ mostlyclean-libtool: clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: tags: TAGS TAGS: @@ -1138,23 +1111,21 @@ CTAGS: distdir: $(DISTFILES) - $(mkdir_p) $(distdir)/.. - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -1200,7 +1171,7 @@ clean-am: clean-generic clean-libtool clean-local mostlyclean-am distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-generic dvi: dvi-am @@ -1214,12 +1185,20 @@ info-am: install-data-am: install-data-local +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -1238,18 +1217,21 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am all-local check check-am clean clean-generic \ clean-libtool clean-local distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am \ - install-data-local install-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ + install-data-local install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am # Here are the rules for building the headers diff --git a/libstdc++-v3/include/backward/auto_ptr.h b/libstdc++-v3/include/backward/auto_ptr.h index 8958074..0373b59 100644 --- a/libstdc++-v3/include/backward/auto_ptr.h +++ b/libstdc++-v3/include/backward/auto_ptr.h @@ -1,6 +1,6 @@ // auto_ptr implementation -*- C++ -*- -// Copyright (C) 2007 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008 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 @@ -82,11 +82,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std) * Good examples of what can and cannot be done with auto_ptr can * be found in the libstdc++ testsuite. * - * @if maint * _GLIBCXX_RESOLVE_LIB_DEFECTS * 127. auto_ptr<> conversion issues * These resolutions have all been incorporated. - * @endif */ template<typename _Tp> class auto_ptr @@ -167,12 +165,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std) * deleted. If it no longer owns anything (i.e., @c get() is * @c NULL), then this has no effect. * - * @if maint * The C++ standard says there is supposed to be an empty throw * specification here, but omitting it is standard conforming. Its * presence can be detected only if _Tp::~_Tp() throws, but this is * prohibited. [17.4.3.6]/2 - * @endif */ ~auto_ptr() { delete _M_ptr; } diff --git a/libstdc++-v3/include/bits/basic_ios.h b/libstdc++-v3/include/bits/basic_ios.h index ea9c0dc..ca59d56 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 +// 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -81,9 +81,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) //@{ /** - * @if maint * These are non-standard types. - * @endif */ typedef ctype<_CharT> __ctype_type; typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> > diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h index 1f36d1e..d78e512 100644 --- a/libstdc++-v3/include/bits/basic_string.h +++ b/libstdc++-v3/include/bits/basic_string.h @@ -1,7 +1,7 @@ // Components for manipulating sequences of characters -*- C++ -*- // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -// 2006, 2007 +// 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -64,7 +64,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std) * @doctodo * * - * @if maint * Documentation? What's that? * Nathan Myers <ncm@cantrip.org>. * @@ -104,7 +103,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std) * * All but the last paragraph is considered pretty conventional * for a C++ string implementation. - * @endif */ // 21.3 Template class basic_string template<typename _CharT, typename _Traits, typename _Alloc> diff --git a/libstdc++-v3/include/bits/ios_base.h b/libstdc++-v3/include/bits/ios_base.h index c7aa8fc..b8904e2 100644 --- a/libstdc++-v3/include/bits/ios_base.h +++ b/libstdc++-v3/include/bits/ios_base.h @@ -1,7 +1,7 @@ // Iostreams base classes -*- C++ -*- // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -// 2006, 2007 +// 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -452,9 +452,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) protected: //@{ /** - * @if maint * ios_base data members (doc me) - * @endif */ streamsize _M_precision; streamsize _M_width; @@ -613,10 +611,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) * @brief Flags access. * @return The precision to generate on certain output operations. * - * @if maint * Be careful if you try to give a definition of "precision" here; see * DR 189. - * @endif */ streamsize precision() const diff --git a/libstdc++-v3/include/bits/locale_classes.h b/libstdc++-v3/include/bits/locale_classes.h index 691694a..10ca19a 100644 --- a/libstdc++-v3/include/bits/locale_classes.h +++ b/libstdc++-v3/include/bits/locale_classes.h @@ -97,9 +97,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) * monetary, and messages. They form a bitmask that supports union and * intersection. The category all is the union of these values. * - * @if maint * NB: Order must match _S_facet_categories definition in locale.cc - * @endif */ static const category none = 0; static const category ctype = 1L << 0; diff --git a/libstdc++-v3/include/bits/postypes.h b/libstdc++-v3/include/bits/postypes.h index 8fc8cf9..1248881 100644 --- a/libstdc++-v3/include/bits/postypes.h +++ b/libstdc++-v3/include/bits/postypes.h @@ -1,7 +1,7 @@ // Position types -*- C++ -*- // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -// 2006, 2007 +// 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -62,12 +62,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std) /** * @brief Type used by fpos, char_traits<char>, and char_traits<wchar_t>. * - * @if maint * In clauses 21.1.3.1 and 27.4.1 streamoff is described as an * implementation defined type. * Note: In versions of GCC up to and including GCC 3.3, streamoff * was typedef long. - * @endif */ #ifdef _GLIBCXX_HAVE_INT64_T typedef int64_t streamoff; diff --git a/libstdc++-v3/include/bits/stl_algo.h b/libstdc++-v3/include/bits/stl_algo.h index 4c65e11..4115058 100644 --- a/libstdc++-v3/include/bits/stl_algo.h +++ b/libstdc++-v3/include/bits/stl_algo.h @@ -1,6 +1,6 @@ // Algorithm implementation -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -142,11 +142,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) // for_each - /** - * @if maint - * This is an overload used by find() for the Input Iterator case. - * @endif - */ + /// This is an overload used by find() for the Input Iterator case. template<typename _InputIterator, typename _Tp> inline _InputIterator __find(_InputIterator __first, _InputIterator __last, @@ -157,11 +153,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) return __first; } - /** - * @if maint - * This is an overload used by find_if() for the Input Iterator case. - * @endif - */ + /// This is an overload used by find_if() for the Input Iterator case. template<typename _InputIterator, typename _Predicate> inline _InputIterator __find_if(_InputIterator __first, _InputIterator __last, @@ -172,11 +164,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) return __first; } - /** - * @if maint - * This is an overload used by find() for the RAI case. - * @endif - */ + /// This is an overload used by find() for the RAI case. template<typename _RandomAccessIterator, typename _Tp> _RandomAccessIterator __find(_RandomAccessIterator __first, _RandomAccessIterator __last, @@ -224,11 +212,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } } - /** - * @if maint - * This is an overload used by find_if() for the RAI case. - * @endif - */ + /// This is an overload used by find_if() for the RAI case. template<typename _RandomAccessIterator, typename _Predicate> _RandomAccessIterator __find_if(_RandomAccessIterator __first, _RandomAccessIterator __last, @@ -290,11 +274,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std) // search /** - * @if maint * This is an uglified * search_n(_ForwardIterator, _ForwardIterator, _Integer, const _Tp&) * overloaded for forward iterators. - * @endif */ template<typename _ForwardIterator, typename _Integer, typename _Tp> _ForwardIterator @@ -324,11 +306,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } /** - * @if maint * This is an uglified * search_n(_ForwardIterator, _ForwardIterator, _Integer, const _Tp&) * overloaded for random access iterators. - * @endif */ template<typename _RandomAccessIter, typename _Integer, typename _Tp> _RandomAccessIter @@ -378,12 +358,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std) // search_n /** - * @if maint * This is an uglified * search_n(_ForwardIterator, _ForwardIterator, _Integer, const _Tp&, * _BinaryPredicate) * overloaded for forward iterators. - * @endif */ template<typename _ForwardIterator, typename _Integer, typename _Tp, typename _BinaryPredicate> @@ -419,12 +397,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } /** - * @if maint * This is an uglified * search_n(_ForwardIterator, _ForwardIterator, _Integer, const _Tp&, * _BinaryPredicate) * overloaded for random access iterators. - * @endif */ template<typename _RandomAccessIter, typename _Integer, typename _Tp, typename _BinaryPredicate> @@ -928,11 +904,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } /** - * @if maint * This is an uglified unique_copy(_InputIterator, _InputIterator, * _OutputIterator) * overloaded for forward iterators and output iterator as result. - * @endif */ template<typename _ForwardIterator, typename _OutputIterator> _OutputIterator @@ -953,11 +927,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } /** - * @if maint * This is an uglified unique_copy(_InputIterator, _InputIterator, * _OutputIterator) * overloaded for input iterators and output iterator as result. - * @endif */ template<typename _InputIterator, typename _OutputIterator> _OutputIterator @@ -978,11 +950,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } /** - * @if maint * This is an uglified unique_copy(_InputIterator, _InputIterator, * _OutputIterator) * overloaded for input iterators and forward iterator as result. - * @endif */ template<typename _InputIterator, typename _ForwardIterator> _ForwardIterator @@ -999,12 +969,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } /** - * @if maint * This is an uglified * unique_copy(_InputIterator, _InputIterator, _OutputIterator, * _BinaryPredicate) * overloaded for forward iterators and output iterator as result. - * @endif */ template<typename _ForwardIterator, typename _OutputIterator, typename _BinaryPredicate> @@ -1030,12 +998,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } /** - * @if maint * This is an uglified * unique_copy(_InputIterator, _InputIterator, _OutputIterator, * _BinaryPredicate) * overloaded for input iterators and output iterator as result. - * @endif */ template<typename _InputIterator, typename _OutputIterator, typename _BinaryPredicate> @@ -1061,12 +1027,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } /** - * @if maint * This is an uglified * unique_copy(_InputIterator, _InputIterator, _OutputIterator, * _BinaryPredicate) * overloaded for input iterators and forward iterator as result. - * @endif */ template<typename _InputIterator, typename _ForwardIterator, typename _BinaryPredicate> @@ -1088,11 +1052,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } /** - * @if maint * This is an uglified reverse(_BidirectionalIterator, * _BidirectionalIterator) * overloaded for bidirectional iterators. - * @endif */ template<typename _BidirectionalIterator> void @@ -1110,11 +1072,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } /** - * @if maint * This is an uglified reverse(_BidirectionalIterator, * _BidirectionalIterator) * overloaded for random access iterators. - * @endif */ template<typename _RandomAccessIterator> void @@ -1191,10 +1151,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } /** - * @if maint * This is a helper function for the rotate algorithm specialized on RAIs. * It returns the greatest common divisor of two integer values. - * @endif */ template<typename _EuclideanRingElement> _EuclideanRingElement @@ -1209,11 +1167,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) return __m; } - /** - * @if maint - * This is a helper function for the rotate algorithm. - * @endif - */ + /// This is a helper function for the rotate algorithm. template<typename _ForwardIterator> void __rotate(_ForwardIterator __first, @@ -1249,11 +1203,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } } - /** - * @if maint - * This is a helper function for the rotate algorithm. - * @endif - */ + /// This is a helper function for the rotate algorithm. template<typename _BidirectionalIterator> void __rotate(_BidirectionalIterator __first, @@ -1283,11 +1233,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) std::__reverse(__first, __middle, bidirectional_iterator_tag()); } - /** - * @if maint - * This is a helper function for the rotate algorithm. - * @endif - */ + /// This is a helper function for the rotate algorithm. template<typename _RandomAccessIterator> void __rotate(_RandomAccessIterator __first, @@ -1424,11 +1370,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) std::copy(__middle, __last, __result)); } - /** - * @if maint - * This is a helper function... - * @endif - */ + /// This is a helper function... template<typename _ForwardIterator, typename _Predicate> _ForwardIterator __partition(_ForwardIterator __first, _ForwardIterator __last, @@ -1453,11 +1395,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) return __first; } - /** - * @if maint - * This is a helper function... - * @endif - */ + /// This is a helper function... template<typename _BidirectionalIterator, typename _Predicate> _BidirectionalIterator __partition(_BidirectionalIterator __first, _BidirectionalIterator __last, @@ -1487,11 +1425,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) // partition - /** - * @if maint - * This is a helper function... - * @endif - */ + /// This is a helper function... template<typename _ForwardIterator, typename _Predicate, typename _Distance> _ForwardIterator __inplace_stable_partition(_ForwardIterator __first, @@ -1515,11 +1449,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) return __begin; } - /** - * @if maint - * This is a helper function... - * @endif - */ + /// This is a helper function... template<typename _ForwardIterator, typename _Pointer, typename _Predicate, typename _Distance> _ForwardIterator @@ -1617,11 +1547,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } } - /** - * @if maint - * This is a helper function for the sort routines. - * @endif - */ + /// This is a helper function for the sort routines. template<typename _RandomAccessIterator> void __heap_select(_RandomAccessIterator __first, @@ -1634,11 +1560,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) std::__pop_heap(__first, __middle, __i); } - /** - * @if maint - * This is a helper function for the sort routines. - * @endif - */ + /// This is a helper function for the sort routines. template<typename _RandomAccessIterator, typename _Compare> void __heap_select(_RandomAccessIterator __first, @@ -1786,11 +1708,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) return __result_real_last; } - /** - * @if maint - * This is a helper function for the sort routine. - * @endif - */ + /// This is a helper function for the sort routine. template<typename _RandomAccessIterator, typename _Tp> void __unguarded_linear_insert(_RandomAccessIterator __last, _Tp __val) @@ -1806,11 +1724,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) *__last = __val; } - /** - * @if maint - * This is a helper function for the sort routine. - * @endif - */ + /// This is a helper function for the sort routine. template<typename _RandomAccessIterator, typename _Tp, typename _Compare> void __unguarded_linear_insert(_RandomAccessIterator __last, _Tp __val, @@ -1827,11 +1741,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) *__last = __val; } - /** - * @if maint - * This is a helper function for the sort routine. - * @endif - */ + /// This is a helper function for the sort routine. template<typename _RandomAccessIterator> void __insertion_sort(_RandomAccessIterator __first, @@ -1854,11 +1764,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } } - /** - * @if maint - * This is a helper function for the sort routine. - * @endif - */ + /// This is a helper function for the sort routine. template<typename _RandomAccessIterator, typename _Compare> void __insertion_sort(_RandomAccessIterator __first, @@ -1880,11 +1786,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } } - /** - * @if maint - * This is a helper function for the sort routine. - * @endif - */ + /// This is a helper function for the sort routine. template<typename _RandomAccessIterator> inline void __unguarded_insertion_sort(_RandomAccessIterator __first, @@ -1897,11 +1799,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) std::__unguarded_linear_insert(__i, _ValueType(*__i)); } - /** - * @if maint - * This is a helper function for the sort routine. - * @endif - */ + /// This is a helper function for the sort routine. template<typename _RandomAccessIterator, typename _Compare> inline void __unguarded_insertion_sort(_RandomAccessIterator __first, @@ -1915,18 +1813,12 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } /** - * @if maint * @doctodo * This controls some aspect of the sort routines. - * @endif */ enum { _S_threshold = 16 }; - /** - * @if maint - * This is a helper function for the sort routine. - * @endif - */ + /// This is a helper function for the sort routine. template<typename _RandomAccessIterator> void __final_insertion_sort(_RandomAccessIterator __first, @@ -1941,11 +1833,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) std::__insertion_sort(__first, __last); } - /** - * @if maint - * This is a helper function for the sort routine. - * @endif - */ + /// This is a helper function for the sort routine. template<typename _RandomAccessIterator, typename _Compare> void __final_insertion_sort(_RandomAccessIterator __first, @@ -1961,11 +1849,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) std::__insertion_sort(__first, __last, __comp); } - /** - * @if maint - * This is a helper function... - * @endif - */ + /// This is a helper function... template<typename _RandomAccessIterator, typename _Tp> _RandomAccessIterator __unguarded_partition(_RandomAccessIterator __first, @@ -1985,11 +1869,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } } - /** - * @if maint - * This is a helper function... - * @endif - */ + /// This is a helper function... template<typename _RandomAccessIterator, typename _Tp, typename _Compare> _RandomAccessIterator __unguarded_partition(_RandomAccessIterator __first, @@ -2010,11 +1890,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } } - /** - * @if maint - * This is a helper function for the sort routine. - * @endif - */ + /// This is a helper function for the sort routine. template<typename _RandomAccessIterator, typename _Size> void __introsort_loop(_RandomAccessIterator __first, @@ -2046,11 +1922,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } } - /** - * @if maint - * This is a helper function for the sort routine. - * @endif - */ + /// This is a helper function for the sort routine. template<typename _RandomAccessIterator, typename _Size, typename _Compare> void __introsort_loop(_RandomAccessIterator __first, @@ -2083,11 +1955,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } } - /** - * @if maint - * This is a helper function for the sort routines. Precondition: __n > 0. - * @endif - */ + /// This is a helper function for the sort routines. Precondition: __n > 0. template<typename _Size> inline _Size __lg(_Size __n) @@ -2125,6 +1993,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) if (__depth_limit == 0) { std::__heap_select(__first, __nth + 1, __last); + // Place the nth largest element in its final position. std::iter_swap(__first, __nth); return; @@ -2578,11 +2447,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) // merge - /** - * @if maint - * This is a helper function for the merge routines. - * @endif - */ + /// This is a helper function for the merge routines. template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, typename _BidirectionalIterator3> _BidirectionalIterator3 @@ -2617,11 +2482,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } } - /** - * @if maint - * This is a helper function for the merge routines. - * @endif - */ + /// This is a helper function for the merge routines. template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, typename _BidirectionalIterator3, typename _Compare> _BidirectionalIterator3 @@ -2657,11 +2518,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } } - /** - * @if maint - * This is a helper function for the merge routines. - * @endif - */ + /// This is a helper function for the merge routines. template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, typename _Distance> _BidirectionalIterator1 @@ -2693,11 +2550,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } } - /** - * @if maint - * This is a helper function for the merge routines. - * @endif - */ + /// This is a helper function for the merge routines. template<typename _BidirectionalIterator, typename _Distance, typename _Pointer> void @@ -2753,11 +2606,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } } - /** - * @if maint - * This is a helper function for the merge routines. - * @endif - */ + /// This is a helper function for the merge routines. template<typename _BidirectionalIterator, typename _Distance, typename _Pointer, typename _Compare> void @@ -2815,11 +2664,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } } - /** - * @if maint - * This is a helper function for the merge routines. - * @endif - */ + /// This is a helper function for the merge routines. template<typename _BidirectionalIterator, typename _Distance> void __merge_without_buffer(_BidirectionalIterator __first, @@ -2862,11 +2707,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) __len1 - __len11, __len2 - __len22); } - /** - * @if maint - * This is a helper function for the merge routines. - * @endif - */ + /// This is a helper function for the merge routines. template<typename _BidirectionalIterator, typename _Distance, typename _Compare> void @@ -3207,11 +3048,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) __comp); } - /** - * @if maint - * This is a helper function for the stable sorting routines. - * @endif - */ + /// This is a helper function for the stable sorting routines. template<typename _RandomAccessIterator> void __inplace_stable_sort(_RandomAccessIterator __first, @@ -3230,11 +3067,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) __last - __middle); } - /** - * @if maint - * This is a helper function for the stable sorting routines. - * @endif - */ + /// This is a helper function for the stable sorting routines. template<typename _RandomAccessIterator, typename _Compare> void __inplace_stable_sort(_RandomAccessIterator __first, @@ -4615,14 +4448,12 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P) * unique_copy() is stable, so the relative order of elements that are * copied is unchanged. * - * @if maint * _GLIBCXX_RESOLVE_LIB_DEFECTS * DR 241. Does unique_copy() require CopyConstructible and Assignable? * * _GLIBCXX_RESOLVE_LIB_DEFECTS * DR 538. 241 again: Does unique_copy() require CopyConstructible and * Assignable? - * @endif */ template<typename _InputIterator, typename _OutputIterator> inline _OutputIterator @@ -4659,10 +4490,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P) * unique_copy() is stable, so the relative order of elements that are * copied is unchanged. * - * @if maint * _GLIBCXX_RESOLVE_LIB_DEFECTS * DR 241. Does unique_copy() require CopyConstructible and Assignable? - * @endif */ template<typename _InputIterator, typename _OutputIterator, typename _BinaryPredicate> diff --git a/libstdc++-v3/include/bits/stl_construct.h b/libstdc++-v3/include/bits/stl_construct.h index 4603834..1c4324e 100644 --- a/libstdc++-v3/include/bits/stl_construct.h +++ b/libstdc++-v3/include/bits/stl_construct.h @@ -1,6 +1,6 @@ // nonstandard construct and destroy functions -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -67,10 +67,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) /** - * @if maint * Constructs an object in existing memory by invoking an allocated * object's constructor with an initializer. - * @endif */ template<typename _T1, typename _T2> inline void @@ -82,9 +80,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } /** - * @if maint * Destroy the object pointed to by a pointer type. - * @endif */ template<typename _Tp> inline void @@ -92,11 +88,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std) { __pointer->~_Tp(); } /** - * @if maint * Destroy a range of objects. If the value_type of the object has * a trivial destructor, the compiler should optimize all of this * away, otherwise the objects' destructors must be invoked. - * @endif */ template<typename _ForwardIterator> inline void @@ -110,11 +104,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } /** - * @if maint * Destroy a range of objects using the supplied allocator. For * nondefault allocators we do not optimize away invocation of * destroy() even if _Tp has a trivial destructor. - * @endif */ template <typename _Tp> class allocator; diff --git a/libstdc++-v3/include/bits/stl_deque.h b/libstdc++-v3/include/bits/stl_deque.h index 4261e75..c5ae17a 100644 --- a/libstdc++-v3/include/bits/stl_deque.h +++ b/libstdc++-v3/include/bits/stl_deque.h @@ -1,6 +1,6 @@ // Deque implementation -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -69,7 +69,6 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) /** - * @if maint * @brief This function controls the size of memory nodes. * @param size The size of an element. * @return The number (not byte size) of elements per node. @@ -78,7 +77,6 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) * be a useful wrapper around a repeated constant expression. The '512' is * tuneable (and no other code needs to change), but no investigation has * been done since inheriting the SGI code. - * @endif */ inline size_t __deque_buf_size(size_t __size) @@ -94,9 +92,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) * elements is done as offsets of either of those two, relying on * operator overloading in this class. * - * @if maint * All the functions are op overloads except for _M_set_node. - * @endif */ template<typename _Tp, typename _Ref, typename _Ptr> struct _Deque_iterator @@ -221,11 +217,10 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) operator[](difference_type __n) const { return *(*this + __n); } - /** @if maint + /** * Prepares to traverse new_node. Sets everything except * _M_cur, which should therefore be set by the caller * immediately afterwards, based on _M_first and _M_last. - * @endif */ void _M_set_node(_Map_pointer __new_node) @@ -357,7 +352,6 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) const _Deque_iterator<_Tp, _Tp&, _Tp*>& __last, const _Tp& __value); /** - * @if maint * Deque base class. This class provides the unified face for %deque's * allocation. This class's constructor and destructor allocate and * deallocate (but do not initialize) storage. This makes %exception @@ -366,7 +360,6 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) * Nothing in this class ever constructs or destroys an actual Tp element. * (Deque handles that itself.) Only/All memory management is performed * here. - * @endif */ template<typename _Tp, typename _Alloc> class _Deque_base @@ -491,14 +484,12 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) } /** - * @if maint * @brief Layout storage. * @param num_elements The count of T's for which to allocate space * at first. * @return Nothing. * * The initial underlying memory layout is a bit complicated... - * @endif */ template<typename _Tp, typename _Alloc> void @@ -583,7 +574,6 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) * out to violate the C++ standard (it can be detected using template * template parameters), and it was removed. * - * @if maint * Here's how a deque<Tp> manages memory. Each deque has 4 members: * * - Tp** _M_map @@ -648,7 +638,6 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) * All the implementation routines for deque itself work only through the * start and finish iterators. This keeps the routines simple and sane, * and we can use other standard algorithms as well. - * @endif */ template<typename _Tp, typename _Alloc = std::allocator<_Tp> > class deque : protected _Deque_base<_Tp, _Alloc> @@ -691,10 +680,9 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) using _Base::_M_deallocate_map; using _Base::_M_get_Tp_allocator; - /** @if maint + /** * A total of four data members accumulated down the heirarchy. * May be accessed via _M_impl.* - * @endif */ using _Base::_M_impl; @@ -1034,7 +1022,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) { return this->_M_impl._M_start[difference_type(__n)]; } protected: - /// @if maint Safety check used only from at(). @endif + /// Safety check used only from at(). void _M_range_check(size_type __n) const { @@ -1414,7 +1402,6 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) // called by the second initialize_dispatch above //@{ /** - * @if maint * @brief Fills the deque with whatever is in [first,last). * @param first An input iterator. * @param last An input iterator. @@ -1423,7 +1410,6 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) * If the iterators are actually forward iterators (or better), then the * memory layout can be done all at once. Else we move forward using * push_back on each value from the iterator. - * @endif */ template<typename _InputIterator> void @@ -1438,7 +1424,6 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) //@} /** - * @if maint * @brief Fills the %deque with copies of value. * @param value Initial value. * @return Nothing. @@ -1447,7 +1432,6 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) * * This function is called only when the user provides an explicit size * (with or without an explicit exemplar value). - * @endif */ void _M_fill_initialize(const value_type& __value); @@ -1517,11 +1501,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) } //@{ - /** - * @if maint - * @brief Helper functions for push_* and pop_*. - * @endif - */ + /// Helper functions for push_* and pop_*. #ifndef __GXX_EXPERIMENTAL_CXX0X__ void _M_push_back_aux(const value_type&); @@ -1645,12 +1625,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) } //@{ - /** - * @if maint - * @brief Memory-handling helpers for the previous internal insert - * functions. - * @endif - */ + /// Memory-handling helpers for the previous internal insert functions. iterator _M_reserve_elements_at_front(size_type __n) { @@ -1681,13 +1656,11 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) //@{ /** - * @if maint * @brief Memory-handling helpers for the major %map. * * Makes sure the _M_map has space for new nodes. Does not * actually add the nodes. Can invalidate _M_map pointers. * (And consequently, %deque iterators.) - * @endif */ void _M_reserve_map_at_back(size_type __nodes_to_add = 1) diff --git a/libstdc++-v3/include/bits/stl_iterator.h b/libstdc++-v3/include/bits/stl_iterator.h index 2d89e57..aac0313 100644 --- a/libstdc++-v3/include/bits/stl_iterator.h +++ b/libstdc++-v3/include/bits/stl_iterator.h @@ -1,6 +1,6 @@ // Iterators -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -860,14 +860,12 @@ _GLIBCXX_BEGIN_NAMESPACE(std) // 24.4.3 Move iterators /** - * @if maint * Class template move_iterator is an iterator adapter with the same * behavior as the underlying iterator except that its dereference * operator implicitly converts the value returned by the underlying * iterator's dereference operator to an rvalue reference. Some * generic algorithms can be called with move iterators to replace * copying with moving. - * @endif */ template<typename _Iterator> class move_iterator diff --git a/libstdc++-v3/include/bits/stl_iterator_base_types.h b/libstdc++-v3/include/bits/stl_iterator_base_types.h index 785abef..8810f52 100644 --- a/libstdc++-v3/include/bits/stl_iterator_base_types.h +++ b/libstdc++-v3/include/bits/stl_iterator_base_types.h @@ -1,6 +1,6 @@ // Types used in iterator implementation -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -158,10 +158,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) }; /** - * @if maint * This function is not a part of the C++ standard but is syntactic * sugar for internal library use only. - * @endif */ template<typename _Iter> inline typename iterator_traits<_Iter>::iterator_category diff --git a/libstdc++-v3/include/bits/stl_list.h b/libstdc++-v3/include/bits/stl_list.h index 0904586a..79439e7 100644 --- a/libstdc++-v3/include/bits/stl_list.h +++ b/libstdc++-v3/include/bits/stl_list.h @@ -1,6 +1,6 @@ // List implementation -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -71,11 +71,11 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) // duplication. This results in some "needless" static_cast'ing later on, // but it's all safe downcasting. - /// @if maint Common part of a node in the %list. @endif + /// Common part of a node in the %list. struct _List_node_base { - _List_node_base* _M_next; ///< Self-explanatory - _List_node_base* _M_prev; ///< Self-explanatory + _List_node_base* _M_next; + _List_node_base* _M_prev; static void swap(_List_node_base& __x, _List_node_base& __y); @@ -94,19 +94,18 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) unhook(); }; - /// @if maint An actual node in the %list. @endif + /// An actual node in the %list. template<typename _Tp> struct _List_node : public _List_node_base { - _Tp _M_data; ///< User's data. + ///< User's data. + _Tp _M_data; }; /** * @brief A list::iterator. * - * @if maint * All the functions are op overloads. - * @endif */ template<typename _Tp> struct _List_iterator @@ -181,9 +180,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) /** * @brief A list::const_iterator. * - * @if maint * All the functions are op overloads. - * @endif */ template<typename _Tp> struct _List_const_iterator @@ -273,11 +270,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) { return __x._M_node != __y._M_node; } - /** - * @if maint - * See bits/stl_deque.h's _Deque_base for an explanation. - * @endif - */ + /// See bits/stl_deque.h's _Deque_base for an explanation. template<typename _Tp, typename _Alloc> class _List_base { @@ -400,7 +393,6 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) * specialized algorithms %unique to linked lists, such as * splicing, sorting, and in-place reversal. * - * @if maint * A couple points on memory allocation for list<Tp>: * * First, we never actually allocate a Tp, we allocate @@ -418,7 +410,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) * pointing to @e D, not to @e A! To get to the head of the %list, * we start at the tail and move forward by one. When this member * iterator's next/previous pointers refer to itself, the %list is - * %empty. @endif + * %empty. */ template<typename _Tp, typename _Alloc = std::allocator<_Tp> > class list : protected _List_base<_Tp, _Alloc> @@ -457,11 +449,9 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) using _Base::_M_get_Node_allocator; /** - * @if maint * @param x An instance of user data. * * Allocates space for a new node and constructs a copy of @a x in it. - * @endif */ #ifndef __GXX_EXPERIMENTAL_CXX0X__ _Node* diff --git a/libstdc++-v3/include/bits/stl_map.h b/libstdc++-v3/include/bits/stl_map.h index 6426440..bf174cc 100644 --- a/libstdc++-v3/include/bits/stl_map.h +++ b/libstdc++-v3/include/bits/stl_map.h @@ -1,6 +1,6 @@ // Map implementation -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -82,11 +82,9 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) * * Maps support bidirectional iterators. * - * @if maint * The private tree data is declared exactly the same way for map and * multimap; the distinction is made entirely in how the tree functions are * called (*_unique versus *_equal, same as the standard). - * @endif */ template <typename _Key, typename _Tp, typename _Compare = std::less<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > > @@ -124,14 +122,14 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) }; private: - /// @if maint This turns a red-black tree into a [multi]map. @endif + /// This turns a red-black tree into a [multi]map. typedef typename _Alloc::template rebind<value_type>::other _Pair_alloc_type; typedef _Rb_tree<key_type, value_type, _Select1st<value_type>, key_compare, _Pair_alloc_type> _Rep_type; - /// @if maint The actual tree structure. @endif + /// The actual tree structure. _Rep_type _M_t; public: diff --git a/libstdc++-v3/include/bits/stl_multimap.h b/libstdc++-v3/include/bits/stl_multimap.h index 76d6b47..b264126 100644 --- a/libstdc++-v3/include/bits/stl_multimap.h +++ b/libstdc++-v3/include/bits/stl_multimap.h @@ -1,6 +1,6 @@ // Multimap implementation -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -81,11 +81,9 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) * * Multimaps support bidirectional iterators. * - * @if maint * The private tree data is declared exactly the same way for map and * multimap; the distinction is made entirely in how the tree functions are * called (*_unique versus *_equal, same as the standard). - * @endif */ template <typename _Key, typename _Tp, typename _Compare = std::less<_Key>, @@ -124,13 +122,13 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) }; private: - /// @if maint This turns a red-black tree into a [multi]map. @endif + /// This turns a red-black tree into a [multi]map. typedef typename _Alloc::template rebind<value_type>::other _Pair_alloc_type; typedef _Rb_tree<key_type, value_type, _Select1st<value_type>, key_compare, _Pair_alloc_type> _Rep_type; - /// @if maint The actual tree structure. @endif + /// The actual tree structure. _Rep_type _M_t; public: diff --git a/libstdc++-v3/include/bits/stl_multiset.h b/libstdc++-v3/include/bits/stl_multiset.h index 5c897bd..0a8e381 100644 --- a/libstdc++-v3/include/bits/stl_multiset.h +++ b/libstdc++-v3/include/bits/stl_multiset.h @@ -1,6 +1,6 @@ // Multiset implementation -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -80,11 +80,9 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) * * Multisets support bidirectional iterators. * - * @if maint * 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). - * @endif */ template <typename _Key, typename _Compare = std::less<_Key>, typename _Alloc = std::allocator<_Key> > @@ -106,12 +104,12 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) typedef _Alloc allocator_type; private: - /// @if maint This turns a red-black tree into a [multi]set. @endif + /// This turns a red-black tree into a [multi]set. typedef typename _Alloc::template rebind<_Key>::other _Key_alloc_type; typedef _Rb_tree<key_type, value_type, _Identity<value_type>, key_compare, _Key_alloc_type> _Rep_type; - /// @if maint The actual tree structure. @endif + /// The actual tree structure. _Rep_type _M_t; public: diff --git a/libstdc++-v3/include/bits/stl_relops.h b/libstdc++-v3/include/bits/stl_relops.h index 11fc30d..376a6b1 100644 --- a/libstdc++-v3/include/bits/stl_relops.h +++ b/libstdc++-v3/include/bits/stl_relops.h @@ -1,6 +1,6 @@ // std::rel_ops implementation -*- C++ -*- -// Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2004, 2005, 2008 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 @@ -57,7 +57,6 @@ * This is an internal header file, included by other library headers. * You should not attempt to use it directly. * - * @if maint * Inclusion of this file has been removed from * all of the other STL headers for safety reasons, except std_utility.h. * For more information, see the thread of about twenty messages starting @@ -65,7 +64,6 @@ * FAQ at http://gcc.gnu.org/onlinedocs/libstdc++/faq/index.html#4_4 . * * Short summary: the rel_ops operators should be avoided for the present. - * @endif */ #ifndef _STL_RELOPS_H diff --git a/libstdc++-v3/include/bits/stl_set.h b/libstdc++-v3/include/bits/stl_set.h index 3eb4b26..ab84e88 100644 --- a/libstdc++-v3/include/bits/stl_set.h +++ b/libstdc++-v3/include/bits/stl_set.h @@ -1,6 +1,6 @@ // Set implementation -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -83,11 +83,9 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) * @param Compare Comparison function object type, defaults to less<Key>. * @param Alloc Allocator type, defaults to allocator<Key>. * - * @if maint * 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). - * @endif */ template<typename _Key, typename _Compare = std::less<_Key>, typename _Alloc = std::allocator<_Key> > @@ -116,7 +114,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) typedef _Rb_tree<key_type, value_type, _Identity<value_type>, key_compare, _Key_alloc_type> _Rep_type; - _Rep_type _M_t; // red-black tree representing set + _Rep_type _M_t; // Red-black tree representing set. public: //@{ diff --git a/libstdc++-v3/include/bits/stl_tempbuf.h b/libstdc++-v3/include/bits/stl_tempbuf.h index 3a22fab..e9ba10c 100644 --- a/libstdc++-v3/include/bits/stl_tempbuf.h +++ b/libstdc++-v3/include/bits/stl_tempbuf.h @@ -1,6 +1,6 @@ // Temporary buffer implementation -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -119,11 +119,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std) /** - * @if maint * This class is used in two places: stl_algo.h and ext/memory, * where it is wrapped as the temporary_buffer class. See * temporary_buffer docs for more notes. - * @endif */ template<typename _ForwardIterator, typename _Tp> class _Temporary_buffer diff --git a/libstdc++-v3/include/bits/stl_vector.h b/libstdc++-v3/include/bits/stl_vector.h index ad7d083..ea75ede 100644 --- a/libstdc++-v3/include/bits/stl_vector.h +++ b/libstdc++-v3/include/bits/stl_vector.h @@ -1,6 +1,6 @@ // Vector implementation -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -68,11 +68,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) - /** - * @if maint - * See bits/stl_deque.h's _Deque_base for an explanation. - * @endif - */ + /// See bits/stl_deque.h's _Deque_base for an explanation. template<typename _Tp, typename _Alloc> struct _Vector_base { @@ -582,7 +578,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) { return *(this->_M_impl._M_start + __n); } protected: - /// @if maint Safety check used only from at(). @endif + /// Safety check used only from at(). void _M_range_check(size_type __n) const { @@ -897,10 +893,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) protected: /** - * @if maint * Memory expansion handler. Uses the member allocation function to * obtain @a n bytes of memory, and then copies [first,last) into it. - * @endif */ template<typename _ForwardIterator> pointer diff --git a/libstdc++-v3/include/ext/pool_allocator.h b/libstdc++-v3/include/ext/pool_allocator.h index 3259d98..e2e38a0 100644 --- a/libstdc++-v3/include/ext/pool_allocator.h +++ b/libstdc++-v3/include/ext/pool_allocator.h @@ -1,6 +1,6 @@ // Allocators -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -64,7 +64,6 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) /** * @brief Base class for __pool_alloc. * - * @if maint * Uses various allocators to fulfill underlying requests (and makes as * few requests as possible when in default high-speed pool mode). * @@ -76,8 +75,6 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) * _S_round_up(requested_size). Thus the client has enough size * information that we can return the object to the proper free list * without permanently losing part of the object. - * - * @endif */ class __pool_alloc_base { diff --git a/libstdc++-v3/include/ext/rc_string_base.h b/libstdc++-v3/include/ext/rc_string_base.h index 81dc7ea..6bfead9 100644 --- a/libstdc++-v3/include/ext/rc_string_base.h +++ b/libstdc++-v3/include/ext/rc_string_base.h @@ -1,6 +1,6 @@ // Reference-counted versatile string base -*- C++ -*- -// Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. +// Copyright (C) 2005, 2006, 2007, 2008 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 @@ -42,7 +42,6 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) /** - * @if maint * Documentation? What's that? * Nathan Myers <ncm@cantrip.org>. * @@ -82,7 +81,6 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) * * All but the last paragraph is considered pretty conventional * for a C++ string implementation. - * @endif */ template<typename _CharT, typename _Traits, typename _Alloc> class __rc_string_base diff --git a/libstdc++-v3/include/std/bitset b/libstdc++-v3/include/std/bitset index 9a984d03..deaa92d 100644 --- a/libstdc++-v3/include/std/bitset +++ b/libstdc++-v3/include/std/bitset @@ -1,6 +1,6 @@ // <bitset> -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -65,12 +65,10 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) /** - * @if maint * Base class, general case. It is a class inveriant that _Nw will be * nonnegative. * * See documentation for bitset. - * @endif */ template<size_t _Nw> struct _Base_bitset @@ -330,11 +328,9 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) } // end _M_do_find_next /** - * @if maint * Base class, specialization for a single word. * * See documentation for bitset. - * @endif */ template<> struct _Base_bitset<1> @@ -460,11 +456,9 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) }; /** - * @if maint * Base class, specialization for no storage (zero-length %bitset). * * See documentation for bitset. - * @endif */ template<> struct _Base_bitset<0> @@ -643,7 +637,6 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) * Also see http://gcc.gnu.org/onlinedocs/libstdc++/ext/sgiexts.html#ch23 * for a description of extensions. * - * @if maint * Most of the actual code isn't contained in %bitset<> itself, but in the * base class _Base_bitset. The base class works with whole words, not with * individual bits. This allows us to specialize _Base_bitset for the @@ -652,7 +645,6 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) * Extra confusion can result due to the fact that the storage for * _Base_bitset @e is a regular array, and is indexed as such. This is * carefully encapsulated. - * @endif */ template<size_t _Nb> class bitset @@ -991,13 +983,11 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) * @note These operators do no range checking and throw no exceptions, * as required by DR 11 to the standard. * - * @if maint * _GLIBCXX_RESOLVE_LIB_DEFECTS Note that this implementation already * resolves DR 11 (items 1 and 2), but does not do the range-checking * required by that DR's resolution. -pme * The DR has since been changed: range-checking is a precondition * (users' responsibility), and these functions must not throw. -pme - * @endif */ reference operator[](size_t __position) diff --git a/libstdc++-v3/include/std/fstream b/libstdc++-v3/include/std/fstream index af7635e..fc2eca1 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 +// 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -91,11 +91,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) // External buffer. __file_type _M_file; - /** - * @if maint - * Place to stash in || out || in | out settings for current filebuf. - * @endif - */ + /// Place to stash in || out || in | out settings for current filebuf. ios_base::openmode _M_mode; // Beginning state type for codecvt. @@ -110,19 +106,13 @@ _GLIBCXX_BEGIN_NAMESPACE(std) // to eback() and _M_ext_buf. __state_type _M_state_last; - /** - * @if maint - * Pointer to the beginning of internal buffer. - * @endif - */ + /// Pointer to the beginning of internal buffer. char_type* _M_buf; /** - * @if maint * Actual size of internal buffer. This number is equal to the size * of the put area + 1 position, reserved for the overflow char of * a full area. - * @endif */ size_t _M_buf_size; @@ -130,24 +120,20 @@ _GLIBCXX_BEGIN_NAMESPACE(std) bool _M_buf_allocated; /** - * @if maint * _M_reading == false && _M_writing == false for 'uncommitted' mode; * _M_reading == true for 'read' mode; * _M_writing == true for 'write' mode; * * NB: _M_reading == true && _M_writing == true is unused. - * @endif */ bool _M_reading; bool _M_writing; //@{ /** - * @if maint * Necessary bits for putback buffer management. * * @note pbacks of over one character are not currently supported. - * @endif */ char_type _M_pback; char_type* _M_pback_cur_save; @@ -159,37 +145,29 @@ _GLIBCXX_BEGIN_NAMESPACE(std) const __codecvt_type* _M_codecvt; /** - * @if maint * Buffer for external characters. Used for input when * codecvt::always_noconv() == false. When valid, this corresponds * to eback(). - * @endif */ char* _M_ext_buf; /** - * @if maint * Size of buffer held by _M_ext_buf. - * @endif */ streamsize _M_ext_buf_size; /** - * @if maint * Pointers into the buffer held by _M_ext_buf that delimit a * subsequence of bytes that have been read but not yet converted. * When valid, _M_ext_next corresponds to egptr(). - * @endif */ const char* _M_ext_next; char* _M_ext_end; /** - * @if maint * Initializes pback buffers, and moves normal buffers to safety. * Assumptions: * _M_in_cur has already been moved back - * @endif */ void _M_create_pback() @@ -204,11 +182,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } /** - * @if maint * Deactivates pback buffer contents, and restores normal buffer. * Assumptions: * The pback buffer has only moved forward. - * @endif */ void _M_destroy_pback() throw() @@ -384,7 +360,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std) _M_terminate_output(); /** - * @if maint * This function sets the pointers of the internal buffer, both get * and put areas. Typically: * @@ -395,7 +370,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std) * NB: epptr() - pbase() == _M_buf_size - 1, since _M_buf_size * reflects the actual allocated memory and the last cell is reserved * for the overflow char of a full put area. - * @endif */ void _M_set_buffer(streamsize __off) diff --git a/libstdc++-v3/include/std/istream b/libstdc++-v3/include/std/istream index 8b1666c..72eb5d8 100644 --- a/libstdc++-v3/include/std/istream +++ b/libstdc++-v3/include/std/istream @@ -77,10 +77,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) protected: // Data Members: /** - * @if maint * The number of characters extracted in the previous unformatted * function; see gcount(). - * @endif */ streamsize _M_gcount; diff --git a/libstdc++-v3/include/std/limits b/libstdc++-v3/include/std/limits index 621a6fc..cb4d1e2 100644 --- a/libstdc++-v3/include/std/limits +++ b/libstdc++-v3/include/std/limits @@ -1,6 +1,6 @@ // The template and inlines for the numeric_limits classes. -*- C++ -*- -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -205,9 +205,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) /** True if the type is signed. */ static const bool is_signed = false; /** True if the type is integer. - * @if maint * Is this supposed to be "if the type is integral"? - * @endif */ static const bool is_integer = false; /** True if the type uses an exact representation. "All integer types are @@ -278,10 +276,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) * non-fundamental types, the functions will return 0 and the data * members will all be @c false. * - * @if maint * _GLIBCXX_RESOLVE_LIB_DEFECTS: DRs 201 and 184 (hi Gaby!) are * noted, but not incorporated in this documented (yet). - * @endif */ template<typename _Tp> struct numeric_limits : public __numeric_limits_base diff --git a/libstdc++-v3/include/std/sstream b/libstdc++-v3/include/std/sstream index 66159c8..f8dd50a 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 -// Free Software Foundation, Inc. +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +// 2006, 2008 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 @@ -77,11 +77,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) typedef typename __string_type::size_type __size_type; protected: - /** - * @if maint - * Place to stash in || out || in | out settings for current stringbuf. - * @endif - */ + /// Place to stash in || out || in | out settings for current stringbuf. ios_base::openmode _M_mode; // Data Members: @@ -290,10 +286,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) * Initializes @c sb using @c mode|in, and passes @c &sb to the base * class initializer. Does not allocate any buffer. * - * @if maint * That's a lie. We initialize the base class with NULL, because the * string class does its own memory management. - * @endif */ explicit basic_istringstream(ios_base::openmode __mode = ios_base::in) @@ -310,10 +304,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) * Initializes @c sb using @a str and @c mode|in, and passes @c &sb * to the base class initializer. * - * @if maint * That's a lie. We initialize the base class with NULL, because the * string class does its own memory management. - * @endif */ explicit basic_istringstream(const __string_type& __str, @@ -403,10 +395,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) * Initializes @c sb using @c mode|out, and passes @c &sb to the base * class initializer. Does not allocate any buffer. * - * @if maint * That's a lie. We initialize the base class with NULL, because the * string class does its own memory management. - * @endif */ explicit basic_ostringstream(ios_base::openmode __mode = ios_base::out) @@ -423,10 +413,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) * Initializes @c sb using @a str and @c mode|out, and passes @c &sb * to the base class initializer. * - * @if maint * That's a lie. We initialize the base class with NULL, because the * string class does its own memory management. - * @endif */ explicit basic_ostringstream(const __string_type& __str, @@ -514,10 +502,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) * Initializes @c sb using @c mode, and passes @c &sb to the base * class initializer. Does not allocate any buffer. * - * @if maint * That's a lie. We initialize the base class with NULL, because the * string class does its own memory management. - * @endif */ explicit basic_stringstream(ios_base::openmode __m = ios_base::out | ios_base::in) @@ -532,10 +518,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) * Initializes @c sb using @a str and @c mode, and passes @c &sb * to the base class initializer. * - * @if maint * That's a lie. We initialize the base class with NULL, because the * string class does its own memory management. - * @endif */ explicit basic_stringstream(const __string_type& __str, diff --git a/libstdc++-v3/include/std/streambuf b/libstdc++-v3/include/std/streambuf index 72e3fe4..0c4d192 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 Free Software Foundation, Inc. +// 2006, 2007, 2008 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 @@ -50,11 +50,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std) - /** - * @if maint - * Does stuff. - * @endif - */ template<typename _CharT, typename _Traits> streamsize __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>*, @@ -138,11 +133,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) //@} //@{ - /** - * @if maint - * This is a non-standard type. - * @endif - */ + /// This is a non-standard type. typedef basic_streambuf<char_type, traits_type> __streambuf_type; //@} @@ -184,13 +175,11 @@ _GLIBCXX_BEGIN_NAMESPACE(std) protected: //@{ /** - * @if maint * This is based on _IO_FILE, just reordered to be more consistent, * and is intended to be the most minimal abstraction for an * internal buffer. * - get == input == read * - put == output == write - * @endif */ char_type* _M_in_beg; // Start of get area. char_type* _M_in_cur; // Current read area. @@ -199,11 +188,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) char_type* _M_out_cur; // Current put area. char_type* _M_out_end; // End of put area. - /** - * @if maint - * Current locale setting. - * @endif - */ + /// Current locale setting. locale _M_buf_locale; public: diff --git a/libstdc++-v3/include/std/tuple b/libstdc++-v3/include/std/tuple index 61302f1..d64c141 100644 --- a/libstdc++-v3/include/std/tuple +++ b/libstdc++-v3/include/std/tuple @@ -1,6 +1,6 @@ // <tuple> -*- C++ -*- -// Copyright (C) 2007 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008 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 @@ -101,33 +101,27 @@ namespace std }; /** - * @if maint * Contains the actual implementation of the @c tuple template, stored * as a recursive inheritance hierarchy from the first element (most * derived class) to the last (least derived class). The @c Idx * parameter gives the 0-based index of the element stored at this * point in the hierarchy; we use it to implement a constant-time * get() operation. - * @endif */ template<int _Idx, typename... _Elements> struct _Tuple_impl; /** - * @if maint * Zero-element tuple implementation. This is the basis case for the * inheritance recursion. - * @endif maint */ template<int _Idx> struct _Tuple_impl<_Idx> { }; /** - * @if maint * Recursive tuple implementation. Here we store the @c Head element * and derive from a @c Tuple_impl containing the remaining elements * (which contains the @c Tail). - * @endif */ template<int _Idx, typename _Head, typename... _Tail> struct _Tuple_impl<_Idx, _Head, _Tail...> @@ -378,19 +372,15 @@ namespace std struct tuple_element; /** - * @if maint * Recursive case for tuple_element: strip off the first element in * the tuple and retrieve the (i-1)th element of the remaining tuple. - * @endif */ template<int __i, typename _Head, typename... _Tail> struct tuple_element<__i, tuple<_Head, _Tail...> > : tuple_element<__i - 1, tuple<_Tail...> > { }; /** - * @if maint * Basis case for tuple_element: The first element is the one we're seeking. - * @endif */ template<typename _Head, typename... _Tail> struct tuple_element<0, tuple<_Head, _Tail...> > diff --git a/libstdc++-v3/include/tr1/tuple b/libstdc++-v3/include/tr1/tuple index b342fc3..ae6a36c 100644 --- a/libstdc++-v3/include/tr1/tuple +++ b/libstdc++-v3/include/tr1/tuple @@ -1,6 +1,6 @@ // class template tuple -*- C++ -*- -// Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +// Copyright (C) 2004, 2005, 2006, 2007, 2008 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 @@ -64,33 +64,27 @@ namespace tr1 { typedef _Tp& type; }; /** - * @if maint * Contains the actual implementation of the @c tuple template, stored * as a recursive inheritance hierarchy from the first element (most * derived class) to the last (least derived class). The @c Idx * parameter gives the 0-based index of the element stored at this * point in the hierarchy; we use it to implement a constant-time * get() operation. - * @endif */ template<int _Idx, typename... _Elements> struct _Tuple_impl; /** - * @if maint * Zero-element tuple implementation. This is the basis case for the * inheritance recursion. - * @endif maint */ template<int _Idx> struct _Tuple_impl<_Idx> { }; /** - * @if maint * Recursive tuple implementation. Here we store the @c Head element * and derive from a @c Tuple_impl containing the remaining elements * (which contains the @c Tail). - * @endif */ template<int _Idx, typename _Head, typename... _Tail> struct _Tuple_impl<_Idx, _Head, _Tail...> @@ -232,19 +226,15 @@ namespace tr1 struct tuple_element; /** - * @if maint * Recursive case for tuple_element: strip off the first element in * the tuple and retrieve the (i-1)th element of the remaining tuple. - * @endif */ template<int __i, typename _Head, typename... _Tail> struct tuple_element<__i, tuple<_Head, _Tail...> > : tuple_element<__i - 1, tuple<_Tail...> > { }; /** - * @if maint * Basis case for tuple_element: The first element is the one we're seeking. - * @endif */ template<typename _Head, typename... _Tail> struct tuple_element<0, tuple<_Head, _Tail...> > diff --git a/libstdc++-v3/include/tr1_impl/functional b/libstdc++-v3/include/tr1_impl/functional index 3c3e18a..2a522ed 100644 --- a/libstdc++-v3/include/tr1_impl/functional +++ b/libstdc++-v3/include/tr1_impl/functional @@ -1,6 +1,6 @@ // TR1 functional header -*- C++ -*- -// Copyright (C) 2007 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008 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 @@ -40,11 +40,9 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 class _Mem_fn; /** - * @if maint * Actual implementation of _Has_result_type, which uses SFINAE to * determine if the type _Tp has a publicly-accessible member type * result_type. - * @endif */ template<typename _Tp> class _Has_result_type_helper : __sfinae_types @@ -70,10 +68,9 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 { }; /** - * @if maint - * If we have found a result_type, extract it. - * @endif + * */ + /// If we have found a result_type, extract it. template<bool _Has_result_type, typename _Functor> struct _Maybe_get_result_type { }; @@ -85,10 +82,8 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 }; /** - * @if maint * Base class for any function object that has a weak result type, as * defined in 3.3/3 of TR1. - * @endif */ template<typename _Functor> struct _Weak_result_type_impl @@ -96,77 +91,49 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 { }; - /** - * @if maint - * Retrieve the result type for a function type. - * @endif - */ + /// Retrieve the result type for a function type. template<typename _Res, typename... _ArgTypes> struct _Weak_result_type_impl<_Res(_ArgTypes...)> { typedef _Res result_type; }; - /** - * @if maint - * Retrieve the result type for a function reference. - * @endif - */ + /// Retrieve the result type for a function reference. template<typename _Res, typename... _ArgTypes> struct _Weak_result_type_impl<_Res(&)(_ArgTypes...)> { typedef _Res result_type; }; - /** - * @if maint - * Retrieve the result type for a function pointer. - * @endif - */ + /// Retrieve the result type for a function pointer. template<typename _Res, typename... _ArgTypes> struct _Weak_result_type_impl<_Res(*)(_ArgTypes...)> { typedef _Res result_type; }; - /** - * @if maint - * Retrieve result type for a member function pointer. - * @endif maint - */ + /// Retrieve result type for a member function pointer. template<typename _Res, typename _Class, typename... _ArgTypes> struct _Weak_result_type_impl<_Res (_Class::*)(_ArgTypes...)> { typedef _Res result_type; }; - /** - * @if maint - * Retrieve result type for a const member function pointer. - * @endif maint - */ + /// Retrieve result type for a const member function pointer. template<typename _Res, typename _Class, typename... _ArgTypes> struct _Weak_result_type_impl<_Res (_Class::*)(_ArgTypes...) const> { typedef _Res result_type; }; - /** - * @if maint - * Retrieve result type for a volatile member function pointer. - * @endif maint - */ + /// Retrieve result type for a volatile member function pointer. template<typename _Res, typename _Class, typename... _ArgTypes> struct _Weak_result_type_impl<_Res (_Class::*)(_ArgTypes...) volatile> { typedef _Res result_type; }; - /** - * @if maint - * Retrieve result type for a const volatile member function pointer. - * @endif maint - */ + /// Retrieve result type for a const volatile member function pointer. template<typename _Res, typename _Class, typename... _ArgTypes> struct _Weak_result_type_impl<_Res (_Class::*)(_ArgTypes...)const volatile> { @@ -174,10 +141,8 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 }; /** - * @if maint * Strip top-level cv-qualifiers from the function object and let * _Weak_result_type_impl perform the real work. - * @endif */ template<typename _Functor> struct _Weak_result_type @@ -189,12 +154,10 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 class result_of; /** - * @if maint * Actual implementation of result_of. When _Has_result_type is * true, gets its result from _Weak_result_type. Otherwise, uses * the function object's member template result to extract the * result type. - * @endif */ template<bool _Has_result_type, typename _Signature> struct _Result_of_impl; @@ -208,10 +171,8 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 }; /** - * @if maint * Determine whether we can determine a result type from @c Functor * alone. - * @endif */ template<typename _Functor, typename... _ArgTypes> class result_of<_Functor(_ArgTypes...)> @@ -221,11 +182,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 { }; - /** - * @if maint - * We already know the result type for @c Functor; use it. - * @endif - */ + /// We already know the result type for @c Functor; use it. template<typename _Functor, typename... _ArgTypes> struct _Result_of_impl<true, _Functor(_ArgTypes...)> { @@ -233,10 +190,8 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 }; /** - * @if maint * We need to compute the result type for this invocation the hard * way. - * @endif */ template<typename _Functor, typename... _ArgTypes> struct _Result_of_impl<false, _Functor(_ArgTypes...)> @@ -246,10 +201,8 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 }; /** - * @if maint * It is unsafe to access ::result when there are zero arguments, so we * return @c void instead. - * @endif */ template<typename _Functor> struct _Result_of_impl<false, _Functor()> @@ -257,11 +210,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 typedef void type; }; - /** - * @if maint - * Determines if the type _Tp derives from unary_function. - * @endif - */ + /// Determines if the type _Tp derives from unary_function. template<typename _Tp> struct _Derives_from_unary_function : __sfinae_types { @@ -277,11 +226,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 static const bool value = sizeof(__test((_Tp*)0)) == 1; }; - /** - * @if maint - * Determines if the type _Tp derives from binary_function. - * @endif - */ + /// Determines if the type _Tp derives from binary_function. template<typename _Tp> struct _Derives_from_binary_function : __sfinae_types { @@ -297,11 +242,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 static const bool value = sizeof(__test((_Tp*)0)) == 1; }; - /** - * @if maint - * Turns a function type into a function pointer type - * @endif - */ + /// Turns a function type into a function pointer type template<typename _Tp, bool _IsFunctionType = is_function<_Tp>::value> struct _Function_to_function_pointer { @@ -315,10 +256,8 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 }; /** - * @if maint * Invoke a function object, which may be either a member pointer or a * function object. The first parameter will tell which. - * @endif */ template<typename _Functor, typename... _Args> inline @@ -360,16 +299,14 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 } /** - * @if maint * Knowing which of unary_function and binary_function _Tp derives * from, derives from the same and ensures that reference_wrapper * will have a weak result type. See cases below. - * @endif */ template<bool _Unary, bool _Binary, typename _Tp> struct _Reference_wrapper_base_impl; - // Not a unary_function or binary_function, so try a weak result type + // Not a unary_function or binary_function, so try a weak result type. template<typename _Tp> struct _Reference_wrapper_base_impl<false, false, _Tp> : _Weak_result_type<_Tp> @@ -390,7 +327,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 typename _Tp::result_type> { }; - // both unary_function and binary_function. import result_type to + // Both unary_function and binary_function. Import result_type to // avoid conflicts. template<typename _Tp> struct _Reference_wrapper_base_impl<true, true, _Tp> @@ -404,12 +341,10 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 }; /** - * @if maint * Derives from unary_function or binary_function when it * can. Specializations handle all of the easy cases. The primary * template determines what to do with a class type, which may * derive from both unary_function and binary_function. - * @endif */ template<typename _Tp> struct _Reference_wrapper_base @@ -570,38 +505,24 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 }; /** - * @if maint * Derives from @c unary_function or @c binary_function, or perhaps * nothing, depending on the number of arguments provided. The * primary template is the basis case, which derives nothing. - * @endif maint */ template<typename _Res, typename... _ArgTypes> struct _Maybe_unary_or_binary_function { }; - /** - * @if maint - * Derives from @c unary_function, as appropriate. - * @endif - */ + /// Derives from @c unary_function, as appropriate. template<typename _Res, typename _T1> struct _Maybe_unary_or_binary_function<_Res, _T1> : std::unary_function<_T1, _Res> { }; - /** - * @if maint - * Derives from @c binary_function, as appropriate. - * @endif - */ + /// Derives from @c binary_function, as appropriate. template<typename _Res, typename _T1, typename _T2> struct _Maybe_unary_or_binary_function<_Res, _T1, _T2> : std::binary_function<_T1, _T2, _Res> { }; - /** - * @if maint - * Implementation of @c mem_fn for member function pointers. - * @endif - */ + /// Implementation of @c mem_fn for member function pointers. template<typename _Res, typename _Class, typename... _ArgTypes> class _Mem_fn<_Res (_Class::*)(_ArgTypes...)> : public _Maybe_unary_or_binary_function<_Res, _Class*, _ArgTypes...> @@ -644,11 +565,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 _Functor __pmf; }; - /** - * @if maint - * Implementation of @c mem_fn for const member function pointers. - * @endif - */ + /// Implementation of @c mem_fn for const member function pointers. template<typename _Res, typename _Class, typename... _ArgTypes> class _Mem_fn<_Res (_Class::*)(_ArgTypes...) const> : public _Maybe_unary_or_binary_function<_Res, const _Class*, @@ -691,11 +608,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 _Functor __pmf; }; - /** - * @if maint - * Implementation of @c mem_fn for volatile member function pointers. - * @endif - */ + /// Implementation of @c mem_fn for volatile member function pointers. template<typename _Res, typename _Class, typename... _ArgTypes> class _Mem_fn<_Res (_Class::*)(_ArgTypes...) volatile> : public _Maybe_unary_or_binary_function<_Res, volatile _Class*, @@ -739,11 +652,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 _Functor __pmf; }; - /** - * @if maint - * Implementation of @c mem_fn for const volatile member function pointers. - * @endif - */ + /// Implementation of @c mem_fn for const volatile member function pointers. template<typename _Res, typename _Class, typename... _ArgTypes> class _Mem_fn<_Res (_Class::*)(_ArgTypes...) const volatile> : public _Maybe_unary_or_binary_function<_Res, const volatile _Class*, @@ -914,53 +823,51 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 template<typename _Tp> const int is_placeholder<_Tp>::value; - /** - * @if maint - * The type of placeholder objects defined by libstdc++. - * @endif - */ + /// The type of placeholder objects defined by libstdc++. template<int _Num> struct _Placeholder { }; // Define a large number of placeholders. There is no way to // simplify this with variadic templates, because we're introducing // unique names for each. - namespace placeholders { namespace { - _Placeholder<1> _1; - _Placeholder<2> _2; - _Placeholder<3> _3; - _Placeholder<4> _4; - _Placeholder<5> _5; - _Placeholder<6> _6; - _Placeholder<7> _7; - _Placeholder<8> _8; - _Placeholder<9> _9; - _Placeholder<10> _10; - _Placeholder<11> _11; - _Placeholder<12> _12; - _Placeholder<13> _13; - _Placeholder<14> _14; - _Placeholder<15> _15; - _Placeholder<16> _16; - _Placeholder<17> _17; - _Placeholder<18> _18; - _Placeholder<19> _19; - _Placeholder<20> _20; - _Placeholder<21> _21; - _Placeholder<22> _22; - _Placeholder<23> _23; - _Placeholder<24> _24; - _Placeholder<25> _25; - _Placeholder<26> _26; - _Placeholder<27> _27; - _Placeholder<28> _28; - _Placeholder<29> _29; - } } + namespace placeholders + { + namespace + { + _Placeholder<1> _1; + _Placeholder<2> _2; + _Placeholder<3> _3; + _Placeholder<4> _4; + _Placeholder<5> _5; + _Placeholder<6> _6; + _Placeholder<7> _7; + _Placeholder<8> _8; + _Placeholder<9> _9; + _Placeholder<10> _10; + _Placeholder<11> _11; + _Placeholder<12> _12; + _Placeholder<13> _13; + _Placeholder<14> _14; + _Placeholder<15> _15; + _Placeholder<16> _16; + _Placeholder<17> _17; + _Placeholder<18> _18; + _Placeholder<19> _19; + _Placeholder<20> _20; + _Placeholder<21> _21; + _Placeholder<22> _22; + _Placeholder<23> _23; + _Placeholder<24> _24; + _Placeholder<25> _25; + _Placeholder<26> _26; + _Placeholder<27> _27; + _Placeholder<28> _28; + _Placeholder<29> _29; + } + } /** - * @if maint * Partial specialization of is_placeholder that provides the placeholder * number for the placeholder objects defined by libstdc++. - * @endif */ template<int _Num> struct is_placeholder<_Placeholder<_Num> > @@ -970,19 +877,13 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 const int is_placeholder<_Placeholder<_Num> >::value; /** - * @if maint * Stores a tuple of indices. Used by bind() to extract the elements * in a tuple. - * @endif */ template<int... _Indexes> struct _Index_tuple { }; - /** - * @if maint - * Builds an _Index_tuple<0, 1, 2, ..., _Num-1>. - * @endif - */ + /// Builds an _Index_tuple<0, 1, 2, ..., _Num-1>. template<std::size_t _Num, typename _Tuple = _Index_tuple<> > struct _Build_index_tuple; @@ -1000,30 +901,24 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 }; /** - * @if maint * Used by _Safe_tuple_element to indicate that there is no tuple * element at this position. - * @endif */ struct _No_tuple_element; /** - * @if maint * Implementation helper for _Safe_tuple_element. This primary * template handles the case where it is safe to use @c * tuple_element. - * @endif */ template<int __i, typename _Tuple, bool _IsSafe> struct _Safe_tuple_element_impl : tuple_element<__i, _Tuple> { }; /** - * @if maint * Implementation helper for _Safe_tuple_element. This partial * specialization handles the case where it is not safe to use @c * tuple_element. We just return @c _No_tuple_element. - * @endif */ template<int __i, typename _Tuple> struct _Safe_tuple_element_impl<__i, _Tuple, false> @@ -1043,7 +938,6 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 }; /** - * @if maint * Maps an argument to bind() into an actual argument to the bound * function object [TR1 3.6.3/5]. Only the first parameter should * be specified: the rest are used to determine among the various @@ -1053,7 +947,6 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 * bind expression. The first parameter is the bound argument and * the second parameter is a tuple containing references to the * rest of the arguments. - * @endif */ template<typename _Arg, bool _IsBindExp = is_bind_expression<_Arg>::value, @@ -1061,10 +954,8 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 class _Mu; /** - * @if maint * If the argument is reference_wrapper<_Tp>, returns the * underlying reference. [TR1 3.6.3/5 bullet 1] - * @endif */ template<typename _Tp> class _Mu<reference_wrapper<_Tp>, false, false> @@ -1083,11 +974,9 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 }; /** - * @if maint * If the argument is a bind expression, we invoke the underlying * function object with the same cv-qualifiers as we are given and * pass along all of our arguments (unwrapped). [TR1 3.6.3/5 bullet 2] - * @endif */ template<typename _Arg> class _Mu<_Arg, true, false> @@ -1126,11 +1015,9 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 }; /** - * @if maint * If the argument is a placeholder for the Nth argument, returns * a reference to the Nth argument to the bind function object. * [TR1 3.6.3/5 bullet 3] - * @endif */ template<typename _Arg> class _Mu<_Arg, false, true> @@ -1166,11 +1053,9 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 }; /** - * @if maint * If the argument is just a value, returns a reference to that * value. The cv-qualifiers on the reference are the same as the * cv-qualifiers on the _Mu object. [TR1 3.6.3/5 bullet 4] - * @endif */ template<typename _Arg> class _Mu<_Arg, false, false> @@ -1196,11 +1081,9 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 }; /** - * @if maint * Maps member pointers into instances of _Mem_fn but leaves all * other function objects untouched. Used by tr1::bind(). The * primary template handles the non--member-pointer case. - * @endif */ template<typename _Tp> struct _Maybe_wrap_member_pointer @@ -1213,11 +1096,9 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 }; /** - * @if maint * Maps member pointers into instances of _Mem_fn but leaves all * other function objects untouched. Used by tr1::bind(). This * partial specialization handles the member pointer case. - * @endif */ template<typename _Tp, typename _Class> struct _Maybe_wrap_member_pointer<_Tp _Class::*> @@ -1229,11 +1110,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 { return type(__pm); } }; - /** - * @if maint - * Type of the function object returned from bind(). - * @endif - */ + /// Type of the function object returned from bind(). template<typename _Signature> struct _Bind; @@ -1351,11 +1228,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 } }; - /** - * @if maint - * Type of the function object returned from bind<R>(). - * @endif - */ + /// Type of the function object returned from bind<R>(). template<typename _Result, typename _Signature> struct _Bind_result; @@ -1447,11 +1320,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 } }; - /** - * @if maint - * Class template _Bind is always a bind expression. - * @endif - */ + /// Class template _Bind is always a bind expression. template<typename _Signature> struct is_bind_expression<_Bind<_Signature> > { static const bool value = true; }; @@ -1459,11 +1328,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 template<typename _Signature> const bool is_bind_expression<_Bind<_Signature> >::value; - /** - * @if maint - * Class template _Bind_result is always a bind expression. - * @endif - */ + /// Class template _Bind_result is always a bind expression. template<typename _Result, typename _Signature> struct is_bind_expression<_Bind_result<_Result, _Signature> > { static const bool value = true; }; @@ -1504,20 +1369,16 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 class bad_function_call : public std::exception { }; /** - * @if maint * The integral constant expression 0 can be converted into a * pointer to this type. It is used by the function template to * accept NULL pointers. - * @endif */ struct _M_clear_type; /** - * @if maint * Trait identifying "location-invariant" types, meaning that the * address of the object (or any of its members) will not escape. * Also implies a trivial copy constructor and assignment operator. - * @endif */ template<typename _Tp> struct __is_location_invariant @@ -1564,8 +1425,8 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 __destroy_functor }; - /* Simple type wrapper that helps avoid annoying const problems - when casting between void pointers and pointers-to-pointers. */ + // Simple type wrapper that helps avoid annoying const problems + // when casting between void pointers and pointers-to-pointers. template<typename _Tp> struct _Simple_type_wrapper { @@ -1600,11 +1461,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 template<typename _Signature> class function; - /** - * @if maint - * Base class of all polymorphic function object wrappers. - * @endif - */ + /// Base class of all polymorphic function object wrappers. class _Function_base { public: @@ -1693,50 +1550,36 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 static void _M_init_functor(_Any_data& __functor, const _Functor& __f) - { - _M_init_functor(__functor, __f, _Local_storage()); - } + { _M_init_functor(__functor, __f, _Local_storage()); } template<typename _Signature> static bool _M_not_empty_function(const function<_Signature>& __f) - { - return __f; - } + { return __f; } template<typename _Tp> static bool _M_not_empty_function(const _Tp*& __fp) - { - return __fp; - } + { return __fp; } template<typename _Class, typename _Tp> static bool _M_not_empty_function(_Tp _Class::* const& __mp) - { - return __mp; - } + { return __mp; } template<typename _Tp> static bool _M_not_empty_function(const _Tp&) - { - return true; - } + { return true; } private: static void _M_init_functor(_Any_data& __functor, const _Functor& __f, true_type) - { - new (__functor._M_access()) _Functor(__f); - } + { new (__functor._M_access()) _Functor(__f); } static void _M_init_functor(_Any_data& __functor, const _Functor& __f, false_type) - { - __functor._M_access<_Functor*>() = new _Functor(__f); - } + { __functor._M_access<_Functor*>() = new _Functor(__f); } }; template<typename _Functor> @@ -1769,7 +1612,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 static void _M_init_functor(_Any_data& __functor, reference_wrapper<_Functor> __f) { - // TBD: Use address_of function instead + // TBD: Use address_of function instead. _Base::_M_init_functor(__functor, &__f.get()); } }; @@ -1913,26 +1756,18 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 : public _Maybe_unary_or_binary_function<_Res, _ArgTypes...>, private _Function_base { - /** - * @if maint - * This class is used to implement the safe_bool idiom. - * @endif - */ + /// This class is used to implement the safe_bool idiom. struct _Hidden_type { _Hidden_type* _M_bool; }; - /** - * @if maint - * This typedef is used to implement the safe_bool idiom. - * @endif - */ + /// This typedef is used to implement the safe_bool idiom. typedef _Hidden_type* _Hidden_type::* _Safe_bool; typedef _Res _Signature_type(_ArgTypes...); - struct _Useless {}; + struct _Useless { }; public: typedef _Res result_type; @@ -2121,9 +1956,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 */ template<typename _Functor> _Functor* target(); - /** - * @overload - */ + /// @overload template<typename _Functor> const _Functor* target() const; private: @@ -2246,19 +2079,13 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 template<typename _Signature> inline bool operator==(const function<_Signature>& __f, _M_clear_type*) - { - return !__f; - } + { return !__f; } - /** - * @overload - */ + /// @overload template<typename _Signature> inline bool operator==(_M_clear_type*, const function<_Signature>& __f) - { - return !__f; - } + { return !__f; } /** * @brief Compares a polymorphic function object wrapper against 0 @@ -2270,19 +2097,13 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 template<typename _Signature> inline bool operator!=(const function<_Signature>& __f, _M_clear_type*) - { - return __f; - } + { return __f; } - /** - * @overload - */ + /// @overload template<typename _Signature> inline bool operator!=(_M_clear_type*, const function<_Signature>& __f) - { - return __f; - } + { return __f; } // [3.7.2.8] specialized algorithms @@ -2294,9 +2115,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 template<typename _Signature> inline void swap(function<_Signature>& __x, function<_Signature>& __y) - { - __x.swap(__y); - } + { __x.swap(__y); } _GLIBCXX_END_NAMESPACE_TR1 } diff --git a/libstdc++-v3/include/tr1_impl/random b/libstdc++-v3/include/tr1_impl/random index 02ad85a..bd1f788 100644 --- a/libstdc++-v3/include/tr1_impl/random +++ b/libstdc++-v3/include/tr1_impl/random @@ -1,6 +1,6 @@ // random number generation -*- C++ -*- -// Copyright (C) 2007 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008 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 @@ -647,11 +647,9 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 * N1688[4.13] says "the template parameter _IntType shall denote an integral * type large enough to store values up to m." * - * @if maint * @var _M_x The state of the generator. This is a ring buffer. * @var _M_carry The carry. * @var _M_p Current index of x(i - r). - * @endif */ template<typename _IntType, _IntType __m, int __s, int __r> class subtract_with_carry @@ -821,12 +819,10 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 /** * @brief The Marsaglia-Zaman generator (floats version). * - * @if maint * @var _M_x The state of the generator. This is a ring buffer. * @var _M_carry The carry. * @var _M_p Current index of x(i - r). * @var _M_npows Precomputed negative powers of 2. - * @endif */ template<typename _RealType, int __w, int __s, int __r> class subtract_with_carry_01 |