* include/bits/memoryfwd.h: New. Centralize forward declarations.
* include/bits/algorithmfwd.h: Consistent comments.
* include/bits/localefwd.h: Same.
* include/ext/vstring_fwd.h: Same.
* include/parallel/algorithmfwd.h: Same.
* include/parallel/numericfwd.h: Same.
* include/std/iosfwd: Same.
* include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
forward decl.
* include/ext/alloc_traits.h: Remove allocator forward decl.
* include/bits/stl_construct.h: Same.
* include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
forward decl. Consistent comments.
* doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
* include/Makefile.am (bits_headers): Add memoryfwd.h.
* include/Makefile.in: Regenerate.
* configure: Same.
e enter the commit message for your changes. Lines starting
From-SVN: r196559
+2013-03-08 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/bits/memoryfwd.h: New. Centralize forward declarations.
+ * include/bits/algorithmfwd.h: Consistent comments.
+ * include/bits/localefwd.h: Same.
+ * include/ext/vstring_fwd.h: Same.
+ * include/parallel/algorithmfwd.h: Same.
+ * include/parallel/numericfwd.h: Same.
+ * include/std/iosfwd: Same.
+
+ * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
+ forward decl.
+ * include/ext/alloc_traits.h: Remove allocator forward decl.
+ * include/bits/stl_construct.h: Same.
+ * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
+ forward decl. Consistent comments.
+
+ * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
+
+ * include/Makefile.am (bits_headers): Add memoryfwd.h.
+ * include/Makefile.in: Regenerate.
+ * configure: Same.
+
2013-03-08 François Dumont <fdumont@gcc.gnu.org>
* include/bits/vector.tcc (vector<>operator=(const vector<>&):
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
-# Always define AMTAR for backward compatibility. Yes, it's still used
-# in the wild :-( We should find a proper way to deprecate it ...
-AMTAR='$${TAR-tar}'
+# Always define AMTAR for backward compatibility.
-am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
# If set to YES, the inheritance and collaboration graphs will show the
# relations between templates and their instances.
-TEMPLATE_RELATIONS = YES
+TEMPLATE_RELATIONS = NO
# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
# tags are set to YES then doxygen will generate a graph for each documented
${bits_srcdir}/locale_facets_nonio.tcc \
${bits_srcdir}/localefwd.h \
${bits_srcdir}/mask_array.h \
+ ${bits_srcdir}/memoryfwd.h \
${bits_srcdir}/move.h \
${bits_srcdir}/ostream.tcc \
${bits_srcdir}/ostream_insert.h \
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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.
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
depcomp =
am__depfiles_maybe =
SOURCES =
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@
ACLOCAL = @ACLOCAL@
ALLOCATOR_H = @ALLOCATOR_H@
${bits_srcdir}/locale_facets_nonio.tcc \
${bits_srcdir}/localefwd.h \
${bits_srcdir}/mask_array.h \
+ ${bits_srcdir}/memoryfwd.h \
${bits_srcdir}/move.h \
${bits_srcdir}/ostream.tcc \
${bits_srcdir}/ostream_insert.h \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_srcdir)/fragment.am:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
installcheck: installcheck-am
install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
-// <algorithm> declarations -*- C++ -*-
+// <algorithm> Forward declarations -*- C++ -*-
// Copyright (C) 2007-2013 Free Software Foundation, Inc.
//
#if __cplusplus >= 201103L
+#include <bits/memoryfwd.h>
#include <bits/ptr_traits.h>
#include <ext/numeric_traits.h>
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
- template<typename _Tp>
- class allocator;
-
template<typename _Alloc, typename _Tp>
class __alloctr_rebind_helper
{
#ifndef _ALLOCATOR_H
#define _ALLOCATOR_H 1
-// Define the base class to std::allocator.
-#include <bits/c++allocator.h>
+#include <bits/c++allocator.h> // Define the base class to std::allocator.
+#include <bits/memoryfwd.h>
#if __cplusplus >= 201103L
#include <type_traits>
#endif
_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
- * @defgroup allocators Allocators
- * @ingroup memory
- *
- * Classes encapsulating memory operations.
- *
- * @{
+ * @addtogroup allocators
+ * @{
*/
- template<typename _Tp>
- class allocator;
-
/// allocator<void> specialization.
template<>
class allocator<void>
operator!=(const allocator<_Tp>&, const allocator<_Tp>&)
{ return false; }
- /// Declare uses_allocator so it can be specialized in \<queue\> etc.
- template<typename, typename>
- struct uses_allocator;
-
- /**
- * @}
- */
+ /// @} group allocator
// Inhibit implicit instantiations for required instantiations,
// which are defined via explicit instantiations elsewhere.
-// Locale support -*- C++ -*-
+// <locale> Forward declarations -*- C++ -*-
// Copyright (C) 1997-2013 Free Software Foundation, Inc.
//
class messages_byname;
_GLIBCXX_END_NAMESPACE_VERSION
-} // namespace
+} // namespace std
#endif
--- /dev/null
+// <memory> Forward declarations -*- C++ -*-
+
+// Copyright (C) 2001-2013 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
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+// <http://www.gnu.org/licenses/>.
+
+/*
+ * Copyright (c) 1996-1997
+ * Silicon Graphics Computer Systems, Inc.
+ *
+ * Permission to use, copy, modify, distribute and sell this software
+ * and its documentation for any purpose is hereby granted without fee,
+ * provided that the above copyright notice appear in all copies and
+ * that both that copyright notice and this permission notice appear
+ * in supporting documentation. Silicon Graphics makes no
+ * representations about the suitability of this software for any
+ * purpose. It is provided "as is" without express or implied warranty.
+ */
+
+/** @file bits/memoryfwd.h
+ * This is an internal header file, included by other library headers.
+ * Do not attempt to use it directly. @headername{memory}
+ */
+
+#ifndef _MEMORYFWD_H
+#define _MEMORYFWD_H 1
+
+#pragma GCC system_header
+
+#include <bits/c++config.h>
+
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
+ /**
+ * @defgroup allocators Allocators
+ * @ingroup memory
+ *
+ * Classes encapsulating memory operations.
+ *
+ * @{
+ */
+
+ template<typename>
+ class allocator;
+
+ template<>
+ class allocator<void>;
+
+ /// Declare uses_allocator so it can be specialized in \<queue\> etc.
+ template<typename, typename>
+ struct uses_allocator;
+
+ /// @} group memory
+
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace std
+
+#endif
* destroy() even if _Tp has a trivial destructor.
*/
- template <typename _Tp> class allocator;
-
template<typename _ForwardIterator, typename _Allocator>
void
_Destroy(_ForwardIterator __first, _ForwardIterator __last,
}
_GLIBCXX_END_NAMESPACE_VERSION
-} // namespace
+} // namespace std
#endif /* _STL_CONSTRUCT_H */
-// String support -*- C++ -*-
+// <string> Forward declarations -*- C++ -*-
// Copyright (C) 2001-2013 Free Software Foundation, Inc.
//
#pragma GCC system_header
#include <bits/c++config.h>
+#include <bits/memoryfwd.h>
namespace std _GLIBCXX_VISIBILITY(default)
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
- template<typename _Alloc>
- class allocator;
-
/**
* @defgroup strings Strings
*
# include <bits/allocator.h> // for __alloc_swap
#endif
-namespace std _GLIBCXX_VISIBILITY(default)
-{
-_GLIBCXX_BEGIN_NAMESPACE_VERSION
- template<typename> struct allocator;
-_GLIBCXX_END_NAMESPACE_VERSION
-} // namespace
-
namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
};
_GLIBCXX_END_NAMESPACE_VERSION
-} // namespace
+} // namespace std
#endif
-// Versatile string forward -*- C++ -*-
+// <vstring.h> Forward declarations -*- C++ -*-
// Copyright (C) 2005-2013 Free Software Foundation, Inc.
//
-// <algorithm> parallel extensions -*- C++ -*-
+// <parallel/algorithm> Forward declarations -*- C++ -*-
// Copyright (C) 2007-2013 Free Software Foundation, Inc.
//
-// <numeric> parallel extensions -*- C++ -*-
+// <parallel/numeric> Forward declarations -*- C++ -*-
// Copyright (C) 2007-2013 Free Software Foundation, Inc.
//
-// Forwarding declarations -*- C++ -*-
+// <iosfwd> Forward declarations -*- C++ -*-
// Copyright (C) 1997-2013 Free Software Foundation, Inc.
//