tables.html: Finished now.

2003-01-11  Phil Edwards  <pme@gcc.gnu.org>

	* docs/doxygen/tables.html:  Finished now.
	* docs/doxygen/user.cfg.in:  Update to latest version of Doxygen.
	* include/bits/basic_ios.h (basic_ios::rdbuf):  Add example to
	comments.

	* include/bits/deque.tcc, include/bits/stl_alloc.h,
	include/bits/stl_deque.h, include/bits/stl_list.h,
	include/bits/stl_vector.h:  Remove _GLIBCPP_DEPRECATED bits scheduled
	for 3.4 removal.

From-SVN: r61221
This commit is contained in:
Phil Edwards 2003-01-12 02:56:50 +00:00
parent b3504bc126
commit 3a9fdf3058
10 changed files with 5725 additions and 5990 deletions

File diff suppressed because it is too large Load Diff

5590
libstdc++-v3/ChangeLog-2002 Normal file

File diff suppressed because it is too large Load Diff

View File

@ -31,10 +31,6 @@
are also noted or incorporated. are also noted or incorporated.
</p> </p>
<p class="smallertext">This will probably be incomplete for a while because
filling out the tables is mind-frothingly boring. Also, the HTML table
rendering is ugly. (Update: mozilla 0.9.9 looks MUCH better.)</p>
<hr /> <hr />
<a name="65"><p> <a name="65"><p>

View File

@ -1,4 +1,4 @@
# Doxyfile 1.2.18 # Doxyfile 1.3-rc2
# This file describes the settings to be used by the documentation system # This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project # doxygen (www.doxygen.org) for a project
@ -43,12 +43,11 @@ OUTPUT_DIRECTORY = @outdir@
# documentation generated by doxygen is written. Doxygen will use this # documentation generated by doxygen is written. Doxygen will use this
# information to generate all constant output in the proper language. # information to generate all constant output in the proper language.
# The default language is English, other supported languages are: # The default language is English, other supported languages are:
# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, # Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch,
# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en # Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en
# (Japanese with english messages), Korean, Norwegian, Polish, Portuguese, # (Japanese with english messages), Korean, Norwegian, Polish, Portuguese,
# Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish and Ukrainian. # Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish and Ukrainian.
OUTPUT_LANGUAGE = English OUTPUT_LANGUAGE = English
# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
@ -68,8 +67,8 @@ EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES EXTRACT_STATIC = YES
# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
# defined locally in source files will be included in the documentation. # defined locally in source files will be included in the documentation.
# If set to NO only classes defined in header files are included. # If set to NO only classes defined in header files are included.
EXTRACT_LOCAL_CLASSES = NO EXTRACT_LOCAL_CLASSES = NO
@ -89,13 +88,20 @@ HIDE_UNDOC_MEMBERS = YES
HIDE_UNDOC_CLASSES = YES HIDE_UNDOC_CLASSES = YES
# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
# friend (class|struct|union) declarations. # friend (class|struct|union) declarations.
# If set to NO (the default) these declarations will be included in the # If set to NO (the default) these declarations will be included in the
# documentation. # documentation.
HIDE_FRIEND_COMPOUNDS = NO HIDE_FRIEND_COMPOUNDS = NO
# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
# documentation blocks found inside the body of a function.
# If set to NO (the default) these blocks will be appended to the
# function's detailed documentation block.
HIDE_IN_BODY_DOCS = NO
# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
# include brief member descriptions after the members that are listed in # include brief member descriptions after the members that are listed in
# the file and class documentation (similar to JavaDoc). # the file and class documentation (similar to JavaDoc).
@ -104,7 +110,7 @@ HIDE_FRIEND_COMPOUNDS = NO
BRIEF_MEMBER_DESC = YES BRIEF_MEMBER_DESC = YES
# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
# the brief description of a member or function before the detailed description. # the brief description of a member or function before the detailed description.
# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
# brief descriptions will be completely suppressed. # brief descriptions will be completely suppressed.
@ -116,9 +122,9 @@ REPEAT_BRIEF = YES
ALWAYS_DETAILED_SEC = YES ALWAYS_DETAILED_SEC = YES
# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited
# members of a class in the documentation of that class as if those members were # members of a class in the documentation of that class as if those members were
# ordinary class members. Constructors, destructors and assignment operators of # ordinary class members. Constructors, destructors and assignment operators of
# the base classes will not be shown. # the base classes will not be shown.
INLINE_INHERITED_MEMB = NO INLINE_INHERITED_MEMB = NO
@ -144,12 +150,6 @@ STRIP_FROM_PATH =
INTERNAL_DOCS = NO INTERNAL_DOCS = NO
# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
# doxygen to hide any special comment blocks from generated source code
# fragments. Normal C and C++ comments will always remain visible.
STRIP_CODE_COMMENTS = YES
# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
# file names in lower case letters. If set to YES upper case letters are also # file names in lower case letters. If set to YES upper case letters are also
# allowed. This is useful if you have classes or files whose names only differ # allowed. This is useful if you have classes or files whose names only differ
@ -190,17 +190,17 @@ SHOW_INCLUDE_FILES = YES
JAVADOC_AUTOBRIEF = NO JAVADOC_AUTOBRIEF = NO
# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
# treat a multi-line C++ special comment block (i.e. a block of //! or /// # treat a multi-line C++ special comment block (i.e. a block of //! or ///
# comments) as a brief description. This used to be the default behaviour. # comments) as a brief description. This used to be the default behaviour.
# The new default is to treat a multi-line C++ comment block as a detailed # The new default is to treat a multi-line C++ comment block as a detailed
# description. Set this tag to YES if you prefer the old behaviour instead. # description. Set this tag to YES if you prefer the old behaviour instead.
MULTILINE_CPP_IS_BRIEF = YES MULTILINE_CPP_IS_BRIEF = YES
# If the DETAILS_AT_TOP tag is set to YES then Doxygen # If the DETAILS_AT_TOP tag is set to YES then Doxygen
# will output the detailed description near the top, like JavaDoc. # will output the detailed description near the top, like JavaDoc.
# If set to NO, the detailed description appears after the member # If set to NO, the detailed description appears after the member
# documentation. # documentation.
DETAILS_AT_TOP = NO DETAILS_AT_TOP = NO
@ -253,8 +253,8 @@ GENERATE_TESTLIST = NO
GENERATE_BUGLIST = YES GENERATE_BUGLIST = YES
# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
# disable (NO) the deprecated list. This list is created by putting # disable (NO) the deprecated list. This list is created by putting
# \deprecated commands in the documentation. # \deprecated commands in the documentation.
GENERATE_DEPRECATEDLIST= YES GENERATE_DEPRECATEDLIST= YES
@ -267,7 +267,7 @@ GENERATE_DEPRECATEDLIST= YES
# You can put \n's in the value part of an alias to insert newlines. # You can put \n's in the value part of an alias to insert newlines.
ALIASES = "doctodo=@todo\nDoc me! See docs/doxygen/TODO and http://gcc.gnu.org/ml/libstdc++/2002-02/msg00003.html for more." \ ALIASES = "doctodo=@todo\nDoc me! See docs/doxygen/TODO and http://gcc.gnu.org/ml/libstdc++/2002-02/msg00003.html for more." \
"isiosfwd=One of the @link s27_2_iosfwd I/O forward declarations @endlink" "isiosfwd=One of the @link s27_2_iosfwd I/O forward declarations @endlink"
# The ENABLED_SECTIONS tag can be used to enable conditional # The ENABLED_SECTIONS tag can be used to enable conditional
# documentation sections, marked by \if sectionname ... \endif. # documentation sections, marked by \if sectionname ... \endif.
@ -291,9 +291,9 @@ MAX_INITIALIZER_LINES = 0
OPTIMIZE_OUTPUT_FOR_C = NO OPTIMIZE_OUTPUT_FOR_C = NO
# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources
# only. Doxygen will then generate output that is more tailored for Java. # only. Doxygen will then generate output that is more tailored for Java.
# For instance namespaces will be presented as packages, qualified scopes # For instance namespaces will be presented as packages, qualified scopes
# will look different, etc. # will look different, etc.
OPTIMIZE_OUTPUT_JAVA = NO OPTIMIZE_OUTPUT_JAVA = NO
@ -325,6 +325,13 @@ WARNINGS = NO
WARN_IF_UNDOCUMENTED = NO WARN_IF_UNDOCUMENTED = NO
# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
# potential errors in the documentation, such as not documenting some
# parameters in a documented function, or documenting parameters that
# don't exist or using markup commands wrongly.
WARN_IF_DOC_ERROR = NO
# The WARN_FORMAT tag determines the format of the warning messages that # The WARN_FORMAT tag determines the format of the warning messages that
# doxygen can produce. The string should contain the $file, $line, and $text # doxygen can produce. The string should contain the $file, $line, and $text
# tags, which will be replaced by the file and line number from which the # tags, which will be replaced by the file and line number from which the
@ -375,9 +382,10 @@ RECURSIVE = YES
# excluded from the INPUT source files. This way you can easily exclude a # excluded from the INPUT source files. This way you can easily exclude a
# subdirectory from a directory tree whose root is specified with the INPUT tag. # subdirectory from a directory tree whose root is specified with the INPUT tag.
EXCLUDE = Makefile CVS EXCLUDE = Makefile \
CVS
# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories # The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories
# that are symbolic links (a Unix filesystem feature) are excluded from the input. # that are symbolic links (a Unix filesystem feature) are excluded from the input.
EXCLUDE_SYMLINKS = NO EXCLUDE_SYMLINKS = NO
@ -387,8 +395,8 @@ EXCLUDE_SYMLINKS = NO
# certain files from those directories. # certain files from those directories.
EXCLUDE_PATTERNS = CVS \ EXCLUDE_PATTERNS = CVS \
stamp-* \ stamp-* \
Makefile Makefile
# The EXAMPLE_PATH tag can be used to specify one or more files or # The EXAMPLE_PATH tag can be used to specify one or more files or
# directories that contain example code fragments that are included (see # directories that contain example code fragments that are included (see
@ -445,6 +453,12 @@ SOURCE_BROWSER = YES
INLINE_SOURCES = NO INLINE_SOURCES = NO
# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
# doxygen to hide any special comment blocks from generated source code
# fragments. Normal C and C++ comments will always remain visible.
STRIP_CODE_COMMENTS = YES
# If the REFERENCED_BY_RELATION tag is set to YES (the default) # If the REFERENCED_BY_RELATION tag is set to YES (the default)
# then for each documented function all documented # then for each documented function all documented
# functions referencing it will be listed. # functions referencing it will be listed.
@ -533,19 +547,19 @@ HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO GENERATE_HTMLHELP = NO
# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
# be used to specify the file name of the resulting .chm file. You # be used to specify the file name of the resulting .chm file. You
# can add a path in front of the file if the result should not be # can add a path in front of the file if the result should not be
# written to the html output dir. # written to the html output dir.
CHM_FILE = CHM_FILE =
# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
# be used to specify the location (absolute path including file name) of # be used to specify the location (absolute path including file name) of
# the HTML help compiler (hhc.exe). If non empty doxygen will try to run # the HTML help compiler (hhc.exe). If non empty doxygen will try to run
# the html help compiler on the generated index.hhp. # the html help compiler on the generated index.hhp.
HHC_LOCATION = HHC_LOCATION =
# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
# controls if a separate .chi index file is generated (YES) or that # controls if a separate .chi index file is generated (YES) or that
@ -606,13 +620,13 @@ GENERATE_LATEX = NO
LATEX_OUTPUT = latex LATEX_OUTPUT = latex
# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
# be invoked. If left blank `latex' will be used as the default command name. # invoked. If left blank `latex' will be used as the default command name.
LATEX_CMD_NAME = latex LATEX_CMD_NAME = latex
# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
# generate index for LaTeX. If left blank `makeindex' will be used as the # generate index for LaTeX. If left blank `makeindex' will be used as the
# default command name. # default command name.
MAKEINDEX_CMD_NAME = makeindex MAKEINDEX_CMD_NAME = makeindex
@ -723,10 +737,10 @@ MAN_OUTPUT = man
MAN_EXTENSION = .3 MAN_EXTENSION = .3
# If the MAN_LINKS tag is set to YES and Doxygen generates man output, # If the MAN_LINKS tag is set to YES and Doxygen generates man output,
# then it will generate one additional man file for each entity # then it will generate one additional man file for each entity
# documented in the real man page(s). These additional files # documented in the real man page(s). These additional files
# only source the real man page, but without them the man command # only source the real man page, but without them the man command
# would be unable to find the correct page. The default is NO. # would be unable to find the correct page. The default is NO.
MAN_LINKS = NO MAN_LINKS = NO
@ -743,30 +757,63 @@ MAN_LINKS = NO
GENERATE_XML = NO GENERATE_XML = NO
# The XML_SCHEMA tag can be used to specify an XML schema, # The XML_SCHEMA tag can be used to specify an XML schema,
# which can be used by a validating XML parser to check the # which can be used by a validating XML parser to check the
# syntax of the XML files. # syntax of the XML files.
XML_SCHEMA = XML_SCHEMA =
# The XML_DTD tag can be used to specify an XML DTD, # The XML_DTD tag can be used to specify an XML DTD,
# which can be used by a validating XML parser to check the # which can be used by a validating XML parser to check the
# syntax of the XML files. # syntax of the XML files.
XML_DTD = XML_DTD =
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output # configuration options for the AutoGen Definitions output
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
# generate an AutoGen Definitions (see autogen.sf.net) file # generate an AutoGen Definitions (see autogen.sf.net) file
# that captures the structure of the code including all # that captures the structure of the code including all
# documentation. Note that this feature is still experimental # documentation. Note that this feature is still experimental
# and incomplete at the moment. # and incomplete at the moment.
GENERATE_AUTOGEN_DEF = NO GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------
# If the GENERATE_PERLMOD tag is set to YES Doxygen will
# generate a Perl module file that captures the structure of
# the code including all documentation. Note that this
# feature is still experimental and incomplete at the
# moment.
GENERATE_PERLMOD = NO
# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
# the necessary Makefile rules, Perl scripts and LaTeX code to be able
# to generate PDF and DVI output from the Perl module output.
PERLMOD_LATEX = NO
# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
# nicely formatted so it can be parsed by a human reader. This is useful
# if you want to understand what is going on. On the other hand, if this
# tag is set to NO the size of the Perl module output will be much smaller
# and Perl will parse it just the same.
PERLMOD_PRETTY = YES
# The names of the make variables in the generated doxyrules.make file
# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
# This is useful so different doxyrules.make files included by the same
# Makefile don't overwrite each other's variables.
PERLMOD_MAKEVAR_PREFIX =
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# Configuration options related to the preprocessor # Configuration options related to the preprocessor
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
@ -860,8 +907,8 @@ GENERATE_TAGFILE =
ALLEXTERNALS = YES ALLEXTERNALS = YES
# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
# in the modules index. If set to NO, only the current project's groups will # in the modules index. If set to NO, only the current project's groups will
# be listed. # be listed.
EXTERNAL_GROUPS = YES EXTERNAL_GROUPS = YES
@ -883,8 +930,8 @@ PERL_PATH = /usr/bin/perl
CLASS_DIAGRAMS = YES CLASS_DIAGRAMS = YES
# If set to YES, the inheritance and collaboration graphs will hide # If set to YES, the inheritance and collaboration graphs will hide
# inheritance and usage relations if the target is undocumented # inheritance and usage relations if the target is undocumented
# or is not a class. # or is not a class.
HIDE_UNDOC_RELATIONS = YES HIDE_UNDOC_RELATIONS = YES
@ -934,7 +981,7 @@ INCLUDED_BY_GRAPH = YES
GRAPHICAL_HIERARCHY = YES GRAPHICAL_HIERARCHY = YES
# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
# generated by dot. Possible values are png, jpg, or gif # generated by dot. Possible values are png, jpg, or gif
# If left blank png will be used. # If left blank png will be used.
@ -1022,6 +1069,3 @@ BIN_ABSPATH = /usr/local/bin/
# the documentation for these projects as well. # the documentation for these projects as well.
EXT_DOC_PATHS = EXT_DOC_PATHS =
### End of file.

View File

@ -302,7 +302,14 @@ namespace std
* in derived classes by overrides of the zero-argument @c rdbuf(), * in derived classes by overrides of the zero-argument @c rdbuf(),
* which is non-virtual for hysterical raisins. As a result, you * which is non-virtual for hysterical raisins. As a result, you
* must use explicit qualifications to access this function via any * must use explicit qualifications to access this function via any
* derived class. * derived class. For example:
*
* @code
* std::fstream foo; // or some other derived type
* std::streambuf* p = .....;
*
* foo.ios::rdbuf(p); // ios == basic_ios<char>
* @endcode
*/ */
basic_streambuf<_CharT, _Traits>* basic_streambuf<_CharT, _Traits>*
rdbuf(basic_streambuf<_CharT, _Traits>* __sb); rdbuf(basic_streambuf<_CharT, _Traits>* __sb);

View File

@ -328,29 +328,6 @@ namespace std
} }
} }
#ifdef _GLIBCPP_DEPRECATED
// Called only if _M_finish._M_cur == _M_finish._M_last - 1.
template <typename _Tp, typename _Alloc>
void
deque<_Tp,_Alloc>::
_M_push_back_aux()
{
_M_reserve_map_at_back();
*(_M_finish._M_node + 1) = _M_allocate_node();
try
{
_Construct(_M_finish._M_cur);
_M_finish._M_set_node(_M_finish._M_node + 1);
_M_finish._M_cur = _M_finish._M_first;
}
catch(...)
{
_M_deallocate_node(*(_M_finish._M_node + 1));
__throw_exception_again;
}
}
#endif
// Called only if _M_start._M_cur == _M_start._M_first. // Called only if _M_start._M_cur == _M_start._M_first.
template <typename _Tp, typename _Alloc> template <typename _Tp, typename _Alloc>
void void
@ -374,30 +351,6 @@ namespace std
} }
} }
#ifdef _GLIBCPP_DEPRECATED
// Called only if _M_start._M_cur == _M_start._M_first.
template <typename _Tp, typename _Alloc>
void
deque<_Tp,_Alloc>::
_M_push_front_aux()
{
_M_reserve_map_at_front();
*(_M_start._M_node - 1) = _M_allocate_node();
try
{
_M_start._M_set_node(_M_start._M_node - 1);
_M_start._M_cur = _M_start._M_last - 1;
_Construct(_M_start._M_cur);
}
catch(...)
{
++_M_start;
_M_deallocate_node(*(_M_start._M_node - 1));
__throw_exception_again;
}
}
#endif
// Called only if _M_finish._M_cur == _M_finish._M_first. // Called only if _M_finish._M_cur == _M_finish._M_first.
template <typename _Tp, typename _Alloc> template <typename _Tp, typename _Alloc>
void deque<_Tp,_Alloc>:: void deque<_Tp,_Alloc>::
@ -508,44 +461,6 @@ namespace std
return __pos; return __pos;
} }
#ifdef _GLIBCPP_DEPRECATED
// Nothing seems to actually use this. According to the pattern followed by
// the rest of the SGI code, it would be called by the deprecated insert(pos)
// function, but that has been replaced. We'll take our time removing this
// anyhow; mark for 3.4. -pme
template <typename _Tp, typename _Alloc>
typename deque<_Tp,_Alloc>::iterator
deque<_Tp,_Alloc>::
_M_insert_aux(iterator __pos)
{
difference_type __index = __pos - _M_start;
if (static_cast<size_type>(__index) < size() / 2)
{
push_front(front());
iterator __front1 = _M_start;
++__front1;
iterator __front2 = __front1;
++__front2;
__pos = _M_start + __index;
iterator __pos1 = __pos;
++__pos1;
copy(__front2, __pos1, __front1);
}
else
{
push_back(back());
iterator __back1 = _M_finish;
--__back1;
iterator __back2 = __back1;
--__back2;
__pos = _M_start + __index;
copy_backward(__pos, __back2, __back1);
}
*__pos = value_type();
return __pos;
}
#endif
template <typename _Tp, typename _Alloc> template <typename _Tp, typename _Alloc>
void void
deque<_Tp,_Alloc>:: deque<_Tp,_Alloc>::

View File

@ -74,10 +74,6 @@
* into a "standard" one. * into a "standard" one.
* @endif * @endif
* *
* @note The @c reallocate member functions have been deprecated for 3.2
* and will be removed in 3.4. You must define @c _GLIBCPP_DEPRECATED
* to make this visible in 3.2; see c++config.h.
*
* The canonical description of these classes is in docs/html/ext/howto.html * The canonical description of these classes is in docs/html/ext/howto.html
* or online at http://gcc.gnu.org/onlinedocs/libstdc++/ext/howto.html#3 * or online at http://gcc.gnu.org/onlinedocs/libstdc++/ext/howto.html#3
*/ */
@ -129,9 +125,6 @@ namespace std
{ {
private: private:
static void* _S_oom_malloc(size_t); static void* _S_oom_malloc(size_t);
#ifdef _GLIBCPP_DEPRECATED
static void* _S_oom_realloc(void*, size_t);
#endif
static void (* __malloc_alloc_oom_handler)(); static void (* __malloc_alloc_oom_handler)();
public: public:
@ -148,17 +141,6 @@ namespace std
deallocate(void* __p, size_t /* __n */) deallocate(void* __p, size_t /* __n */)
{ free(__p); } { free(__p); }
#ifdef _GLIBCPP_DEPRECATED
static void*
reallocate(void* __p, size_t /* old_sz */, size_t __new_sz)
{
void* __result = realloc(__p, __new_sz);
if (__builtin_expect(__result == 0, 0))
__result = _S_oom_realloc(__p, __new_sz);
return __result;
}
#endif
static void (* __set_malloc_handler(void (*__f)()))() static void (* __set_malloc_handler(void (*__f)()))()
{ {
void (* __old)() = __malloc_alloc_oom_handler; void (* __old)() = __malloc_alloc_oom_handler;
@ -191,28 +173,6 @@ namespace std
} }
} }
#ifdef _GLIBCPP_DEPRECATED
template<int __inst>
void*
__malloc_alloc_template<__inst>::
_S_oom_realloc(void* __p, size_t __n)
{
void (* __my_malloc_handler)();
void* __result;
for (;;)
{
__my_malloc_handler = __malloc_alloc_oom_handler;
if (__builtin_expect(__my_malloc_handler == 0, 0))
__throw_bad_alloc();
(*__my_malloc_handler)();
__result = realloc(__p, __n);
if (__result)
return __result;
}
}
#endif
// Should not be referenced within the library anymore. // Should not be referenced within the library anymore.
typedef __new_alloc __mem_interface; typedef __new_alloc __mem_interface;
@ -292,20 +252,6 @@ namespace std
assert(*(size_t*)__real_p == __n); assert(*(size_t*)__real_p == __n);
_Alloc::deallocate(__real_p, __n + (int) _S_extra); _Alloc::deallocate(__real_p, __n + (int) _S_extra);
} }
#ifdef _GLIBCPP_DEPRECATED
static void*
reallocate(void* __p, size_t __old_sz, size_t __new_sz)
{
char* __real_p = (char*)__p - (int) _S_extra;
assert(*(size_t*)__real_p == __old_sz);
char* __result = (char*) _Alloc::reallocate(__real_p,
__old_sz + (int) _S_extra,
__new_sz + (int) _S_extra);
*(size_t*)__result = __new_sz;
return __result + (int) _S_extra;
}
#endif
}; };
@ -455,11 +401,6 @@ namespace std
*__my_free_list = __q; *__my_free_list = __q;
} }
} }
#ifdef _GLIBCPP_DEPRECATED
static void*
reallocate(void* __p, size_t __old_sz, size_t __new_sz);
#endif
}; };
template<bool __threads, int __inst> _Atomic_word template<bool __threads, int __inst> _Atomic_word
@ -591,27 +532,6 @@ namespace std
} }
#ifdef _GLIBCPP_DEPRECATED
template<bool threads, int inst>
void*
__default_alloc_template<threads, inst>::
reallocate(void* __p, size_t __old_sz, size_t __new_sz)
{
void* __result;
size_t __copy_sz;
if (__old_sz > (size_t) _MAX_BYTES && __new_sz > (size_t) _MAX_BYTES)
return(realloc(__p, __new_sz));
if (_S_round_up(__old_sz) == _S_round_up(__new_sz))
return(__p);
__result = allocate(__new_sz);
__copy_sz = __new_sz > __old_sz? __old_sz : __new_sz;
memcpy(__result, __p, __copy_sz);
deallocate(__p, __old_sz);
return __result;
}
#endif
template<bool __threads, int __inst> template<bool __threads, int __inst>
_STL_mutex_lock _STL_mutex_lock
__default_alloc_template<__threads,__inst>::_S_node_allocator_lock __default_alloc_template<__threads,__inst>::_S_node_allocator_lock

View File

@ -1025,31 +1025,6 @@ namespace std
_M_push_front_aux(__x); _M_push_front_aux(__x);
} }
#ifdef _GLIBCPP_DEPRECATED
/**
* @brief Add data to the front of the %deque.
*
* This is a typical stack operation. The function creates a
* default-constructed element at the front of the %deque. Due to the
* nature of a %deque this operation can be done in constant time. You
* should consider using push_front(value_type()) instead.
*
* @note This was deprecated in 3.2 and will be removed in 3.4. You must
* define @c _GLIBCPP_DEPRECATED to make this visible in 3.2; see
* c++config.h.
*/
void
push_front()
{
if (_M_start._M_cur != _M_start._M_first) {
_Construct(_M_start._M_cur - 1);
--_M_start._M_cur;
}
else
_M_push_front_aux();
}
#endif
/** /**
* @brief Add data to the end of the %deque. * @brief Add data to the end of the %deque.
* @param x Data to be added. * @param x Data to be added.
@ -1069,31 +1044,6 @@ namespace std
_M_push_back_aux(__x); _M_push_back_aux(__x);
} }
#ifdef _GLIBCPP_DEPRECATED
/**
* @brief Add data to the end of the %deque.
*
* This is a typical stack operation. The function creates a
* default-constructed element at the end of the %deque. Due to the nature
* of a %deque this operation can be done in constant time. You should
* consider using push_back(value_type()) instead.
*
* @note This was deprecated in 3.2 and will be removed in 3.4. You must
* define @c _GLIBCPP_DEPRECATED to make this visible in 3.2; see
* c++config.h.
*/
void
push_back()
{
if (_M_finish._M_cur != _M_finish._M_last - 1) {
_Construct(_M_finish._M_cur);
++_M_finish._M_cur;
}
else
_M_push_back_aux();
}
#endif
/** /**
* @brief Removes first element. * @brief Removes first element.
* *
@ -1144,25 +1094,6 @@ namespace std
iterator iterator
insert(iterator position, const value_type& __x); insert(iterator position, const value_type& __x);
#ifdef _GLIBCPP_DEPRECATED
/**
* @brief Inserts an element into the %deque.
* @param position An iterator into the %deque.
* @return An iterator that points to the inserted element.
*
* This function will insert a default-constructed element before the
* specified location. You should consider using
* insert(position,value_type()) instead.
*
* @note This was deprecated in 3.2 and will be removed in 3.4. You must
* define @c _GLIBCPP_DEPRECATED to make this visible in 3.2; see
* c++config.h.
*/
iterator
insert(iterator __position)
{ return insert(__position, value_type()); }
#endif
/** /**
* @brief Inserts a number of copies of given data into the %deque. * @brief Inserts a number of copies of given data into the %deque.
* @param position An iterator into the %deque. * @param position An iterator into the %deque.
@ -1392,10 +1323,6 @@ namespace std
*/ */
void _M_push_back_aux(const value_type&); void _M_push_back_aux(const value_type&);
void _M_push_front_aux(const value_type&); void _M_push_front_aux(const value_type&);
#ifdef _GLIBCPP_DEPRECATED
void _M_push_back_aux();
void _M_push_front_aux();
#endif
void _M_pop_back_aux(); void _M_pop_back_aux();
void _M_pop_front_aux(); void _M_pop_front_aux();
//@} //@}
@ -1459,11 +1386,6 @@ namespace std
_ForwardIterator __first, _ForwardIterator __last, _ForwardIterator __first, _ForwardIterator __last,
size_type __n); size_type __n);
#ifdef _GLIBCPP_DEPRECATED
// unused, see comment in implementation
iterator _M_insert_aux(iterator __pos);
#endif
//@{ //@{
/** /**
* @if maint * @if maint

View File

@ -702,23 +702,6 @@ namespace std
void void
push_front(const value_type& __x) { this->insert(begin(), __x); } push_front(const value_type& __x) { this->insert(begin(), __x); }
#ifdef _GLIBCPP_DEPRECATED
/**
* @brief Add data to the front of the %list.
*
* This is a typical stack operation. The function creates a
* default-constructed element at the front of the %list. Due to the
* nature of a %list this operation can be done in constant time. You
* should consider using push_front(value_type()) instead.
*
* @note This was deprecated in 3.2 and will be removed in 3.4. You must
* define @c _GLIBCPP_DEPRECATED to make this visible in 3.2; see
* c++config.h.
*/
void
push_front() { this->insert(begin(), value_type()); }
#endif
/** /**
* @brief Removes first element. * @brief Removes first element.
* *
@ -745,23 +728,6 @@ namespace std
void void
push_back(const value_type& __x) { this->insert(end(), __x); } push_back(const value_type& __x) { this->insert(end(), __x); }
#ifdef _GLIBCPP_DEPRECATED
/**
* @brief Add data to the end of the %list.
*
* This is a typical stack operation. The function creates a
* default-constructed element at the end of the %list. Due to the nature
* of a %list this operation can be done in constant time. You should
* consider using push_back(value_type()) instead.
*
* @note This was deprecated in 3.2 and will be removed in 3.4. You must
* define @c _GLIBCPP_DEPRECATED to make this visible in 3.2; see
* c++config.h.
*/
void
push_back() { this->insert(end(), value_type()); }
#endif
/** /**
* @brief Removes last element. * @brief Removes last element.
* *
@ -794,26 +760,6 @@ namespace std
iterator iterator
insert(iterator __position, const value_type& __x); insert(iterator __position, const value_type& __x);
#ifdef _GLIBCPP_DEPRECATED
/**
* @brief Inserts an element into the %list.
* @param position An iterator into the %list.
* @return An iterator that points to the inserted element.
*
* This function will insert a default-constructed element before the
* specified location. You should consider using
* insert(position,value_type()) instead.
* Due to the nature of a %list this operation can be done in constant
* time, and does not invalidate iterators and references.
*
* @note This was deprecated in 3.2 and will be removed in 3.4. You must
* define @c _GLIBCPP_DEPRECATED to make this visible in 3.2; see
* c++config.h.
*/
iterator
insert(iterator __position) { return insert(__position, value_type()); }
#endif
/** /**
* @brief Inserts a number of copies of given data into the %list. * @brief Inserts a number of copies of given data into the %list.
* @param position An iterator into the %list. * @param position An iterator into the %list.

View File

@ -631,28 +631,7 @@ namespace std
*/ */
iterator iterator
insert(iterator __position, const value_type& __x); insert(iterator __position, const value_type& __x);
#ifdef _GLIBCPP_DEPRECATED
/**
* @brief Inserts an element into the %vector.
* @param position An iterator into the %vector.
* @return An iterator that points to the inserted element.
*
* This function will insert a default-constructed element
* before the specified location. You should consider using
* insert(position,value_type()) instead. Note that this kind
* of operation could be expensive for a vector and if it is
* frequently used the user should consider using std::list.
*
* @note This was deprecated in 3.2 and will be removed in 3.4.
* You must define @c _GLIBCPP_DEPRECATED to make this visible
* in 3.2; see c++config.h.
*/
iterator
insert(iterator __position)
{ return insert(__position, value_type()); }
#endif
/** /**
* @brief Inserts a number of copies of given data into the %vector. * @brief Inserts a number of copies of given data into the %vector.
* @param position An iterator into the %vector. * @param position An iterator into the %vector.
@ -913,11 +892,6 @@ namespace std
// Called by insert(p,x) // Called by insert(p,x)
void void
_M_insert_aux(iterator __position, const value_type& __x); _M_insert_aux(iterator __position, const value_type& __x);
#ifdef _GLIBCPP_DEPRECATED
// Unused now (same situation as in deque)
void _M_insert_aux(iterator __position);
#endif
}; };