locale_facets.h (isspace, [...]): Add doxygen markup.
2004-11-22 Benjamin Kosnik <bkoz@redhat.com> * include/bits/locale_facets.h (isspace, isprint, isupper, islower, isalpha, isdigit, ispunct, isxdigit, isalnum, isgraph, toupper, tolower): Add doxygen markup. (codecvt_byname, ctype_byname, numpunct_byname, collate_byname, time_get_byname, time_put_byname, moneypunct_byname, messages_byname): Same. * include/std/std_fstream.h: Remove superfluous markup. * include/std/std_sstream.h: Same. * include/std/std_streambuf.h: Same. * include/ext/enc_filebuf.h: Adjust markup. * include/ext/stdio_filebuf.h: Same. * include/ext/stdio_sync_filebuf.h: Same. * include/bits/codecvt.h: Same. * config/os/gnu-linux/ctype_base.h: Same. * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same. * include/tr1/array: Add markup. * include/tr1/tuple: Same. * docs/doxygen/run_doxygen: Print arguments. * docs/doxygen/user.cfg.in: Tweaks. From-SVN: r91080
This commit is contained in:
parent
402fbd4d55
commit
00aca6e83a
16 changed files with 111 additions and 182 deletions
|
@ -1,3 +1,27 @@
|
||||||
|
2004-11-22 Benjamin Kosnik <bkoz@redhat.com>
|
||||||
|
|
||||||
|
* include/bits/locale_facets.h (isspace, isprint, isupper,
|
||||||
|
islower, isalpha, isdigit, ispunct, isxdigit, isalnum, isgraph,
|
||||||
|
toupper, tolower): Add doxygen markup.
|
||||||
|
(codecvt_byname, ctype_byname, numpunct_byname, collate_byname,
|
||||||
|
time_get_byname, time_put_byname, moneypunct_byname,
|
||||||
|
messages_byname): Same.
|
||||||
|
* include/std/std_fstream.h: Remove superfluous markup.
|
||||||
|
* include/std/std_sstream.h: Same.
|
||||||
|
* include/std/std_streambuf.h: Same.
|
||||||
|
* include/ext/enc_filebuf.h: Adjust markup.
|
||||||
|
* include/ext/stdio_filebuf.h: Same.
|
||||||
|
* include/ext/stdio_sync_filebuf.h: Same.
|
||||||
|
* include/bits/codecvt.h: Same.
|
||||||
|
* config/os/gnu-linux/ctype_base.h: Same.
|
||||||
|
* config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same.
|
||||||
|
* include/tr1/array: Add markup.
|
||||||
|
* include/tr1/tuple: Same.
|
||||||
|
|
||||||
|
* docs/doxygen/run_doxygen: Print arguments.
|
||||||
|
|
||||||
|
* docs/doxygen/user.cfg.in: Tweaks.
|
||||||
|
|
||||||
2004-11-19 Jonathan Wakely <redi@gcc.gnu.org>
|
2004-11-19 Jonathan Wakely <redi@gcc.gnu.org>
|
||||||
|
|
||||||
* include/bits/basic_string.h, include/bits/locale_classes.h,
|
* include/bits/basic_string.h, include/bits/locale_classes.h,
|
||||||
|
|
|
@ -35,6 +35,11 @@
|
||||||
|
|
||||||
// Written by Benjamin Kosnik <bkoz@cygnus.com>
|
// Written by Benjamin Kosnik <bkoz@cygnus.com>
|
||||||
|
|
||||||
|
/** @file bits/codecvt_specializations.h
|
||||||
|
* This is an internal header file, included by other library headers.
|
||||||
|
* You should not attempt to use it directly.
|
||||||
|
*/
|
||||||
|
|
||||||
// XXX
|
// XXX
|
||||||
// Define this here so codecvt.cc can have _S_max_size definition.
|
// Define this here so codecvt.cc can have _S_max_size definition.
|
||||||
#define _GLIBCXX_USE___ENC_TRAITS 1
|
#define _GLIBCXX_USE___ENC_TRAITS 1
|
||||||
|
@ -192,9 +197,9 @@
|
||||||
{ return _M_ext_enc; }
|
{ return _M_ext_enc; }
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Partial specialization.
|
/// @brief class codecvt<InternT, _ExternT, __enc_traits> specialization.
|
||||||
// This specialization takes advantage of iconv to provide code
|
// This partial specialization takes advantage of iconv to provide
|
||||||
// conversions between a large number of character encodings.
|
// code conversions between a large number of character encodings.
|
||||||
template<typename _InternT, typename _ExternT>
|
template<typename _InternT, typename _ExternT>
|
||||||
class codecvt<_InternT, _ExternT, __enc_traits>
|
class codecvt<_InternT, _ExternT, __enc_traits>
|
||||||
: public __codecvt_abstract_base<_InternT, _ExternT, __enc_traits>
|
: public __codecvt_abstract_base<_InternT, _ExternT, __enc_traits>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
// Locale support -*- C++ -*-
|
// Locale support -*- C++ -*-
|
||||||
|
|
||||||
// Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003
|
// Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003, 2004
|
||||||
// Free Software Foundation, Inc.
|
// Free Software Foundation, Inc.
|
||||||
//
|
//
|
||||||
// This file is part of the GNU ISO C++ Library. This library is free
|
// This file is part of the GNU ISO C++ Library. This library is free
|
||||||
|
@ -32,6 +32,11 @@
|
||||||
// ISO C++ 14882: 22.1 Locales
|
// ISO C++ 14882: 22.1 Locales
|
||||||
//
|
//
|
||||||
|
|
||||||
|
/** @file ctype_base.h
|
||||||
|
* This is an internal header file, included by other library headers.
|
||||||
|
* You should not attempt to use it directly.
|
||||||
|
*/
|
||||||
|
|
||||||
// Information as gleaned from /usr/include/ctype.h
|
// Information as gleaned from /usr/include/ctype.h
|
||||||
|
|
||||||
/// @brief Base class for ctype.
|
/// @brief Base class for ctype.
|
||||||
|
|
|
@ -108,6 +108,9 @@ enabled_sections=
|
||||||
generate_tagfile=
|
generate_tagfile=
|
||||||
DATEtext=`date '+%Y-%m-%d'`
|
DATEtext=`date '+%Y-%m-%d'`
|
||||||
|
|
||||||
|
# Show how this script is called.
|
||||||
|
echo run_doxygen $*
|
||||||
|
|
||||||
parse_options $*
|
parse_options $*
|
||||||
find_doxygen
|
find_doxygen
|
||||||
|
|
||||||
|
|
|
@ -35,8 +35,8 @@ SUBGROUPING = YES
|
||||||
EXTRACT_ALL = NO
|
EXTRACT_ALL = NO
|
||||||
EXTRACT_PRIVATE = NO
|
EXTRACT_PRIVATE = NO
|
||||||
EXTRACT_STATIC = YES
|
EXTRACT_STATIC = YES
|
||||||
EXTRACT_LOCAL_CLASSES = NO
|
EXTRACT_LOCAL_CLASSES = YES
|
||||||
EXTRACT_LOCAL_METHODS = NO
|
EXTRACT_LOCAL_METHODS = YES
|
||||||
HIDE_UNDOC_MEMBERS = NO
|
HIDE_UNDOC_MEMBERS = NO
|
||||||
HIDE_UNDOC_CLASSES = YES
|
HIDE_UNDOC_CLASSES = YES
|
||||||
HIDE_FRIEND_COMPOUNDS = NO
|
HIDE_FRIEND_COMPOUNDS = NO
|
||||||
|
@ -44,7 +44,7 @@ HIDE_IN_BODY_DOCS = NO
|
||||||
INTERNAL_DOCS = NO
|
INTERNAL_DOCS = NO
|
||||||
CASE_SENSE_NAMES = NO
|
CASE_SENSE_NAMES = NO
|
||||||
HIDE_SCOPE_NAMES = YES
|
HIDE_SCOPE_NAMES = YES
|
||||||
SHOW_INCLUDE_FILES = YES
|
SHOW_INCLUDE_FILES = NO
|
||||||
INLINE_INFO = YES
|
INLINE_INFO = YES
|
||||||
SORT_MEMBER_DOCS = YES
|
SORT_MEMBER_DOCS = YES
|
||||||
SORT_BRIEF_DOCS = YES
|
SORT_BRIEF_DOCS = YES
|
||||||
|
@ -70,7 +70,9 @@ WARN_LOGFILE =
|
||||||
# configuration options related to the input files
|
# configuration options related to the input files
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
INPUT = @srcdir@/docs/doxygen/doxygroups.cc \
|
INPUT = @srcdir@/docs/doxygen/doxygroups.cc \
|
||||||
@srcdir@/src \
|
include/@host_alias@/bits \
|
||||||
|
include/bits \
|
||||||
|
include/ext \
|
||||||
@srcdir@/libsupc++/exception \
|
@srcdir@/libsupc++/exception \
|
||||||
@srcdir@/libsupc++/new \
|
@srcdir@/libsupc++/new \
|
||||||
@srcdir@/libsupc++/typeinfo \
|
@srcdir@/libsupc++/typeinfo \
|
||||||
|
@ -101,8 +103,6 @@ INPUT = @srcdir@/docs/doxygen/doxygroups.cc \
|
||||||
include/utility \
|
include/utility \
|
||||||
include/valarray \
|
include/valarray \
|
||||||
include/vector \
|
include/vector \
|
||||||
include/bits \
|
|
||||||
include/ext \
|
|
||||||
include/ext/algorithm \
|
include/ext/algorithm \
|
||||||
include/ext/functional \
|
include/ext/functional \
|
||||||
include/ext/hash_map \
|
include/ext/hash_map \
|
||||||
|
@ -112,8 +112,7 @@ INPUT = @srcdir@/docs/doxygen/doxygroups.cc \
|
||||||
include/ext/rope \
|
include/ext/rope \
|
||||||
include/ext/slist \
|
include/ext/slist \
|
||||||
include/tr1/array \
|
include/tr1/array \
|
||||||
include/tr1/tuple \
|
include/tr1/tuple
|
||||||
include/@host_alias@/bits
|
|
||||||
FILE_PATTERNS = *.h \
|
FILE_PATTERNS = *.h \
|
||||||
*.tcc
|
*.tcc
|
||||||
RECURSIVE = NO
|
RECURSIVE = NO
|
||||||
|
@ -253,13 +252,13 @@ PERL_PATH = /usr/bin/perl
|
||||||
# Configuration options related to the dot tool
|
# Configuration options related to the dot tool
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
CLASS_DIAGRAMS = YES
|
CLASS_DIAGRAMS = YES
|
||||||
HIDE_UNDOC_RELATIONS = YES
|
HIDE_UNDOC_RELATIONS = NO
|
||||||
HAVE_DOT = NO
|
HAVE_DOT = NO
|
||||||
CLASS_GRAPH = YES
|
CLASS_GRAPH = YES
|
||||||
COLLABORATION_GRAPH = YES
|
COLLABORATION_GRAPH = NO
|
||||||
UML_LOOK = NO
|
UML_LOOK = NO
|
||||||
TEMPLATE_RELATIONS = YES
|
TEMPLATE_RELATIONS = YES
|
||||||
INCLUDE_GRAPH = YES
|
INCLUDE_GRAPH = NO
|
||||||
INCLUDED_BY_GRAPH = NO
|
INCLUDED_BY_GRAPH = NO
|
||||||
CALL_GRAPH = NO
|
CALL_GRAPH = NO
|
||||||
GRAPHICAL_HIERARCHY = YES
|
GRAPHICAL_HIERARCHY = YES
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
|
|
||||||
// Written by Benjamin Kosnik <bkoz@cygnus.com>
|
// Written by Benjamin Kosnik <bkoz@cygnus.com>
|
||||||
|
|
||||||
/** @file codecvt.h
|
/** @file bits/codecvt.h
|
||||||
* This is an internal header file, included by other library headers.
|
* This is an internal header file, included by other library headers.
|
||||||
* You should not attempt to use it directly.
|
* You should not attempt to use it directly.
|
||||||
*/
|
*/
|
||||||
|
@ -43,10 +43,7 @@
|
||||||
|
|
||||||
#pragma GCC system_header
|
#pragma GCC system_header
|
||||||
|
|
||||||
// 22.2.1.5 Template class codecvt
|
/// @brief Empty base class for codecvt facet [22.2.1.5].
|
||||||
/**
|
|
||||||
* @brief Base class for codecvt facet providing conversion result enum.
|
|
||||||
*/
|
|
||||||
class codecvt_base
|
class codecvt_base
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -59,12 +56,8 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
// Template class __codecvt_abstract_base
|
|
||||||
// NB: An abstract base class that fills in the public inlines, so
|
|
||||||
// that the specializations don't have to re-copy the public
|
|
||||||
// interface.
|
|
||||||
/**
|
/**
|
||||||
* @brief Common base for codecvt facet
|
* @brief Common base for codecvt functions.
|
||||||
*
|
*
|
||||||
* This template class provides implementations of the public functions
|
* This template class provides implementations of the public functions
|
||||||
* that forward to the protected virtual functions.
|
* that forward to the protected virtual functions.
|
||||||
|
@ -271,8 +264,8 @@
|
||||||
do_max_length() const throw() = 0;
|
do_max_length() const throw() = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
/// @brief 22.2.1.5 Template class codecvt
|
/// @brief class codecvt [22.2.1.5].
|
||||||
// NB: Generic, mostly useless implementation.
|
/// NB: Generic, mostly useless implementation.
|
||||||
template<typename _InternT, typename _ExternT, typename _StateT>
|
template<typename _InternT, typename _ExternT, typename _StateT>
|
||||||
class codecvt
|
class codecvt
|
||||||
: public __codecvt_abstract_base<_InternT, _ExternT, _StateT>
|
: public __codecvt_abstract_base<_InternT, _ExternT, _StateT>
|
||||||
|
@ -334,7 +327,7 @@
|
||||||
template<typename _InternT, typename _ExternT, typename _StateT>
|
template<typename _InternT, typename _ExternT, typename _StateT>
|
||||||
locale::id codecvt<_InternT, _ExternT, _StateT>::id;
|
locale::id codecvt<_InternT, _ExternT, _StateT>::id;
|
||||||
|
|
||||||
/// @brief codecvt<char, char, mbstate_t> required specialization
|
/// @brief class codecvt<char, char, mbstate_t> specialization.
|
||||||
template<>
|
template<>
|
||||||
class codecvt<char, char, mbstate_t>
|
class codecvt<char, char, mbstate_t>
|
||||||
: public __codecvt_abstract_base<char, char, mbstate_t>
|
: public __codecvt_abstract_base<char, char, mbstate_t>
|
||||||
|
@ -392,7 +385,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef _GLIBCXX_USE_WCHAR_T
|
#ifdef _GLIBCXX_USE_WCHAR_T
|
||||||
/// @brief codecvt<wchar_t, char, mbstate_t> required specialization
|
/// @brief class codecvt<wchar_t, char, mbstate_t> specialization.
|
||||||
template<>
|
template<>
|
||||||
class codecvt<wchar_t, char, mbstate_t>
|
class codecvt<wchar_t, char, mbstate_t>
|
||||||
: public __codecvt_abstract_base<wchar_t, char, mbstate_t>
|
: public __codecvt_abstract_base<wchar_t, char, mbstate_t>
|
||||||
|
@ -452,7 +445,7 @@
|
||||||
};
|
};
|
||||||
#endif //_GLIBCXX_USE_WCHAR_T
|
#endif //_GLIBCXX_USE_WCHAR_T
|
||||||
|
|
||||||
/// @brief 22.2.1.6 Template class codecvt_byname
|
/// @brief class codecvt_byname [22.2.1.6].
|
||||||
template<typename _InternT, typename _ExternT, typename _StateT>
|
template<typename _InternT, typename _ExternT, typename _StateT>
|
||||||
class codecvt_byname : public codecvt<_InternT, _ExternT, _StateT>
|
class codecvt_byname : public codecvt<_InternT, _ExternT, _StateT>
|
||||||
{
|
{
|
||||||
|
|
|
@ -191,7 +191,7 @@ namespace std
|
||||||
|
|
||||||
// 27.4.2 Class ios_base
|
// 27.4.2 Class ios_base
|
||||||
/**
|
/**
|
||||||
* @brief The very top of the I/O class hierarchy.
|
* @brief The base of the I/O class hierarchy.
|
||||||
*
|
*
|
||||||
* This class defines everything that can be defined about I/O that does
|
* This class defines everything that can be defined about I/O that does
|
||||||
* not depend on the type of characters being input or output. Most
|
* not depend on the type of characters being input or output. Most
|
||||||
|
|
|
@ -1511,7 +1511,7 @@ namespace std
|
||||||
// Include host and configuration specific ctype inlines.
|
// Include host and configuration specific ctype inlines.
|
||||||
#include <bits/ctype_inline.h>
|
#include <bits/ctype_inline.h>
|
||||||
|
|
||||||
/// @brief 22.2.1.2 Template class ctype_byname
|
/// @brief class ctype_byname [22.2.1.2].
|
||||||
template<typename _CharT>
|
template<typename _CharT>
|
||||||
class ctype_byname : public ctype<_CharT>
|
class ctype_byname : public ctype<_CharT>
|
||||||
{
|
{
|
||||||
|
@ -1526,7 +1526,7 @@ namespace std
|
||||||
~ctype_byname() { };
|
~ctype_byname() { };
|
||||||
};
|
};
|
||||||
|
|
||||||
// 22.2.1.4 Class ctype_byname specializations.
|
/// 22.2.1.4 Class ctype_byname specializations.
|
||||||
template<>
|
template<>
|
||||||
ctype_byname<char>::ctype_byname(const char*, size_t refs);
|
ctype_byname<char>::ctype_byname(const char*, size_t refs);
|
||||||
|
|
||||||
|
@ -1888,6 +1888,7 @@ namespace std
|
||||||
numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc);
|
numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/// @brief class numpunct_byname [22.2.3.2].
|
||||||
template<typename _CharT>
|
template<typename _CharT>
|
||||||
class numpunct_byname : public numpunct<_CharT>
|
class numpunct_byname : public numpunct<_CharT>
|
||||||
{
|
{
|
||||||
|
@ -2640,6 +2641,7 @@ namespace std
|
||||||
collate<wchar_t>::_M_transform(wchar_t*, const wchar_t*, size_t) const;
|
collate<wchar_t>::_M_transform(wchar_t*, const wchar_t*, size_t) const;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/// @brief class collate_byname [22.2.4.2].
|
||||||
template<typename _CharT>
|
template<typename _CharT>
|
||||||
class collate_byname : public collate<_CharT>
|
class collate_byname : public collate<_CharT>
|
||||||
{
|
{
|
||||||
|
@ -3292,6 +3294,7 @@ namespace std
|
||||||
template<typename _CharT, typename _InIter>
|
template<typename _CharT, typename _InIter>
|
||||||
locale::id time_get<_CharT, _InIter>::id;
|
locale::id time_get<_CharT, _InIter>::id;
|
||||||
|
|
||||||
|
/// @brief class time_get_byname [22.2.5.2].
|
||||||
template<typename _CharT, typename _InIter>
|
template<typename _CharT, typename _InIter>
|
||||||
class time_get_byname : public time_get<_CharT, _InIter>
|
class time_get_byname : public time_get<_CharT, _InIter>
|
||||||
{
|
{
|
||||||
|
@ -3415,6 +3418,7 @@ namespace std
|
||||||
template<typename _CharT, typename _OutIter>
|
template<typename _CharT, typename _OutIter>
|
||||||
locale::id time_put<_CharT, _OutIter>::id;
|
locale::id time_put<_CharT, _OutIter>::id;
|
||||||
|
|
||||||
|
/// @brief class time_put_byname [22.2.5.4].
|
||||||
template<typename _CharT, typename _OutIter>
|
template<typename _CharT, typename _OutIter>
|
||||||
class time_put_byname : public time_put<_CharT, _OutIter>
|
class time_put_byname : public time_put<_CharT, _OutIter>
|
||||||
{
|
{
|
||||||
|
@ -3922,6 +3926,7 @@ namespace std
|
||||||
const char*);
|
const char*);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/// @brief class moneypunct_byname [22.2.6.4].
|
||||||
template<typename _CharT, bool _Intl>
|
template<typename _CharT, bool _Intl>
|
||||||
class moneypunct_byname : public moneypunct<_CharT, _Intl>
|
class moneypunct_byname : public moneypunct<_CharT, _Intl>
|
||||||
{
|
{
|
||||||
|
@ -4469,7 +4474,8 @@ namespace std
|
||||||
messages<wchar_t>::do_get(catalog, int, int, const wstring&) const;
|
messages<wchar_t>::do_get(catalog, int, int, const wstring&) const;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
template<typename _CharT>
|
/// @brief class messages_byname [22.2.7.2].
|
||||||
|
template<typename _CharT>
|
||||||
class messages_byname : public messages<_CharT>
|
class messages_byname : public messages<_CharT>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -4493,72 +4499,84 @@ namespace std
|
||||||
// NB: These are inline because, when used in a loop, some compilers
|
// NB: These are inline because, when used in a loop, some compilers
|
||||||
// can hoist the body out of the loop; then it's just as fast as the
|
// can hoist the body out of the loop; then it's just as fast as the
|
||||||
// C is*() function.
|
// C is*() function.
|
||||||
//@{
|
|
||||||
/// Convenience interface to ctype.is().
|
/// Convenience interface to ctype.is(ctype_base::space, __c).
|
||||||
template<typename _CharT>
|
template<typename _CharT>
|
||||||
inline bool
|
inline bool
|
||||||
isspace(_CharT __c, const locale& __loc)
|
isspace(_CharT __c, const locale& __loc)
|
||||||
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::space, __c); }
|
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::space, __c); }
|
||||||
|
|
||||||
|
/// Convenience interface to ctype.is(ctype_base::print, __c).
|
||||||
template<typename _CharT>
|
template<typename _CharT>
|
||||||
inline bool
|
inline bool
|
||||||
isprint(_CharT __c, const locale& __loc)
|
isprint(_CharT __c, const locale& __loc)
|
||||||
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::print, __c); }
|
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::print, __c); }
|
||||||
|
|
||||||
|
/// Convenience interface to ctype.is(ctype_base::cntrl, __c).
|
||||||
template<typename _CharT>
|
template<typename _CharT>
|
||||||
inline bool
|
inline bool
|
||||||
iscntrl(_CharT __c, const locale& __loc)
|
iscntrl(_CharT __c, const locale& __loc)
|
||||||
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::cntrl, __c); }
|
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::cntrl, __c); }
|
||||||
|
|
||||||
|
/// Convenience interface to ctype.is(ctype_base::upper, __c).
|
||||||
template<typename _CharT>
|
template<typename _CharT>
|
||||||
inline bool
|
inline bool
|
||||||
isupper(_CharT __c, const locale& __loc)
|
isupper(_CharT __c, const locale& __loc)
|
||||||
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::upper, __c); }
|
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::upper, __c); }
|
||||||
|
|
||||||
|
/// Convenience interface to ctype.is(ctype_base::lower, __c).
|
||||||
template<typename _CharT>
|
template<typename _CharT>
|
||||||
inline bool islower(_CharT __c, const locale& __loc)
|
inline bool
|
||||||
|
islower(_CharT __c, const locale& __loc)
|
||||||
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::lower, __c); }
|
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::lower, __c); }
|
||||||
|
|
||||||
|
/// Convenience interface to ctype.is(ctype_base::alpha, __c).
|
||||||
template<typename _CharT>
|
template<typename _CharT>
|
||||||
inline bool
|
inline bool
|
||||||
isalpha(_CharT __c, const locale& __loc)
|
isalpha(_CharT __c, const locale& __loc)
|
||||||
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alpha, __c); }
|
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alpha, __c); }
|
||||||
|
|
||||||
|
/// Convenience interface to ctype.is(ctype_base::digit, __c).
|
||||||
template<typename _CharT>
|
template<typename _CharT>
|
||||||
inline bool
|
inline bool
|
||||||
isdigit(_CharT __c, const locale& __loc)
|
isdigit(_CharT __c, const locale& __loc)
|
||||||
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::digit, __c); }
|
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::digit, __c); }
|
||||||
|
|
||||||
|
/// Convenience interface to ctype.is(ctype_base::punct, __c).
|
||||||
template<typename _CharT>
|
template<typename _CharT>
|
||||||
inline bool
|
inline bool
|
||||||
ispunct(_CharT __c, const locale& __loc)
|
ispunct(_CharT __c, const locale& __loc)
|
||||||
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::punct, __c); }
|
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::punct, __c); }
|
||||||
|
|
||||||
|
/// Convenience interface to ctype.is(ctype_base::xdigit, __c).
|
||||||
template<typename _CharT>
|
template<typename _CharT>
|
||||||
inline bool
|
inline bool
|
||||||
isxdigit(_CharT __c, const locale& __loc)
|
isxdigit(_CharT __c, const locale& __loc)
|
||||||
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::xdigit, __c); }
|
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::xdigit, __c); }
|
||||||
|
|
||||||
|
/// Convenience interface to ctype.is(ctype_base::alnum, __c).
|
||||||
template<typename _CharT>
|
template<typename _CharT>
|
||||||
inline bool
|
inline bool
|
||||||
isalnum(_CharT __c, const locale& __loc)
|
isalnum(_CharT __c, const locale& __loc)
|
||||||
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alnum, __c); }
|
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alnum, __c); }
|
||||||
|
|
||||||
|
/// Convenience interface to ctype.is(ctype_base::graph, __c).
|
||||||
template<typename _CharT>
|
template<typename _CharT>
|
||||||
inline bool
|
inline bool
|
||||||
isgraph(_CharT __c, const locale& __loc)
|
isgraph(_CharT __c, const locale& __loc)
|
||||||
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::graph, __c); }
|
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::graph, __c); }
|
||||||
|
|
||||||
|
/// Convenience interface to ctype.toupper(__c).
|
||||||
template<typename _CharT>
|
template<typename _CharT>
|
||||||
inline _CharT
|
inline _CharT
|
||||||
toupper(_CharT __c, const locale& __loc)
|
toupper(_CharT __c, const locale& __loc)
|
||||||
{ return use_facet<ctype<_CharT> >(__loc).toupper(__c); }
|
{ return use_facet<ctype<_CharT> >(__loc).toupper(__c); }
|
||||||
|
|
||||||
|
/// Convenience interface to ctype.tolower(__c).
|
||||||
template<typename _CharT>
|
template<typename _CharT>
|
||||||
inline _CharT
|
inline _CharT
|
||||||
tolower(_CharT __c, const locale& __loc)
|
tolower(_CharT __c, const locale& __loc)
|
||||||
{ return use_facet<ctype<_CharT> >(__loc).tolower(__c); }
|
{ return use_facet<ctype<_CharT> >(__loc).tolower(__c); }
|
||||||
//@}
|
|
||||||
} // namespace std
|
} // namespace std
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
// filebuf with __enc_traits state type -*- C++ -*-
|
// filebuf with __enc_traits state type -*- C++ -*-
|
||||||
|
|
||||||
// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
|
// Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
|
||||||
//
|
//
|
||||||
// This file is part of the GNU ISO C++ Library. This library is free
|
// 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
|
// software; you can redistribute it and/or modify it under the
|
||||||
|
@ -27,6 +27,10 @@
|
||||||
// invalidate any other reasons why the executable file might be covered by
|
// invalidate any other reasons why the executable file might be covered by
|
||||||
// the GNU General Public License.
|
// the GNU General Public License.
|
||||||
|
|
||||||
|
/** @file ext/enc_filebuf.h
|
||||||
|
* This file is a GNU extension to the Standard C++ Library.
|
||||||
|
*/
|
||||||
|
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <locale>
|
#include <locale>
|
||||||
|
|
||||||
|
@ -35,6 +39,7 @@ namespace __gnu_cxx
|
||||||
// Custom traits type with __enc_traits for the state type, and the
|
// Custom traits type with __enc_traits for the state type, and the
|
||||||
// associated fpos<__enc_traits> for the position type, all other
|
// associated fpos<__enc_traits> for the position type, all other
|
||||||
// bits equivalent to the required char_traits instantiations.
|
// bits equivalent to the required char_traits instantiations.
|
||||||
|
/// @brief class enc_char_traits.
|
||||||
template<typename _CharT>
|
template<typename _CharT>
|
||||||
struct enc_char_traits: public std::char_traits<_CharT>
|
struct enc_char_traits: public std::char_traits<_CharT>
|
||||||
{
|
{
|
||||||
|
@ -42,6 +47,7 @@ namespace __gnu_cxx
|
||||||
typedef typename std::fpos<state_type> pos_type;
|
typedef typename std::fpos<state_type> pos_type;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/// @brief class enc_filebuf.
|
||||||
template<typename _CharT>
|
template<typename _CharT>
|
||||||
class enc_filebuf
|
class enc_filebuf
|
||||||
: public std::basic_filebuf<_CharT, enc_char_traits<_CharT> >
|
: public std::basic_filebuf<_CharT, enc_char_traits<_CharT> >
|
||||||
|
|
|
@ -41,7 +41,6 @@
|
||||||
namespace __gnu_cxx
|
namespace __gnu_cxx
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @class stdio_filebuf ext/stdio_filebuf.h <ext/stdio_filebuf.h>
|
|
||||||
* @brief Provides a layer of compatibility for C/POSIX.
|
* @brief Provides a layer of compatibility for C/POSIX.
|
||||||
*
|
*
|
||||||
* This GNU extension provides extensions for working with standard C
|
* This GNU extension provides extensions for working with standard C
|
||||||
|
|
|
@ -46,7 +46,7 @@
|
||||||
|
|
||||||
namespace __gnu_cxx
|
namespace __gnu_cxx
|
||||||
{
|
{
|
||||||
/// @brief Class stdio_sync_filebuf.
|
/// @brief class stdio_sync_filebuf.
|
||||||
template<typename _CharT, typename _Traits = std::char_traits<_CharT> >
|
template<typename _CharT, typename _Traits = std::char_traits<_CharT> >
|
||||||
class stdio_sync_filebuf : public std::basic_streambuf<_CharT, _Traits>
|
class stdio_sync_filebuf : public std::basic_streambuf<_CharT, _Traits>
|
||||||
{
|
{
|
||||||
|
|
|
@ -76,37 +76,20 @@ namespace std
|
||||||
typedef typename traits_type::pos_type pos_type;
|
typedef typename traits_type::pos_type pos_type;
|
||||||
typedef typename traits_type::off_type off_type;
|
typedef typename traits_type::off_type off_type;
|
||||||
|
|
||||||
//@{
|
|
||||||
/**
|
|
||||||
* @if maint
|
|
||||||
* @doctodo
|
|
||||||
* @endif
|
|
||||||
*/
|
|
||||||
typedef basic_streambuf<char_type, traits_type> __streambuf_type;
|
typedef basic_streambuf<char_type, traits_type> __streambuf_type;
|
||||||
typedef basic_filebuf<char_type, traits_type> __filebuf_type;
|
typedef basic_filebuf<char_type, traits_type> __filebuf_type;
|
||||||
typedef __basic_file<char> __file_type;
|
typedef __basic_file<char> __file_type;
|
||||||
typedef typename traits_type::state_type __state_type;
|
typedef typename traits_type::state_type __state_type;
|
||||||
typedef codecvt<char_type, char, __state_type> __codecvt_type;
|
typedef codecvt<char_type, char, __state_type> __codecvt_type;
|
||||||
//@}
|
|
||||||
|
|
||||||
friend class ios_base; // For sync_with_stdio.
|
friend class ios_base; // For sync_with_stdio.
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// Data Members:
|
// Data Members:
|
||||||
// MT lock inherited from libio or other low-level io library.
|
// MT lock inherited from libio or other low-level io library.
|
||||||
/**
|
|
||||||
* @if maint
|
|
||||||
* @doctodo
|
|
||||||
* @endif
|
|
||||||
*/
|
|
||||||
__c_lock _M_lock;
|
__c_lock _M_lock;
|
||||||
|
|
||||||
// External buffer.
|
// External buffer.
|
||||||
/**
|
|
||||||
* @if maint
|
|
||||||
* @doctodo
|
|
||||||
* @endif
|
|
||||||
*/
|
|
||||||
__file_type _M_file;
|
__file_type _M_file;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -117,30 +100,15 @@ namespace std
|
||||||
ios_base::openmode _M_mode;
|
ios_base::openmode _M_mode;
|
||||||
|
|
||||||
// Beginning state type for codecvt.
|
// Beginning state type for codecvt.
|
||||||
/**
|
|
||||||
* @if maint
|
|
||||||
* @doctodo
|
|
||||||
* @endif
|
|
||||||
*/
|
|
||||||
__state_type _M_state_beg;
|
__state_type _M_state_beg;
|
||||||
|
|
||||||
// During output, the state that corresponds to pptr(),
|
// During output, the state that corresponds to pptr(),
|
||||||
// during input, the state that corresponds to egptr() and
|
// during input, the state that corresponds to egptr() and
|
||||||
// _M_ext_next.
|
// _M_ext_next.
|
||||||
/**
|
|
||||||
* @if maint
|
|
||||||
* @doctodo
|
|
||||||
* @endif
|
|
||||||
*/
|
|
||||||
__state_type _M_state_cur;
|
__state_type _M_state_cur;
|
||||||
|
|
||||||
// Not used for output. During input, the state that corresponds
|
// Not used for output. During input, the state that corresponds
|
||||||
// to eback() and _M_ext_buf.
|
// to eback() and _M_ext_buf.
|
||||||
/**
|
|
||||||
* @if maint
|
|
||||||
* @doctodo
|
|
||||||
* @endif
|
|
||||||
*/
|
|
||||||
__state_type _M_state_last;
|
__state_type _M_state_last;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -160,11 +128,6 @@ namespace std
|
||||||
size_t _M_buf_size;
|
size_t _M_buf_size;
|
||||||
|
|
||||||
// Set iff _M_buf is allocated memory from _M_allocate_internal_buffer.
|
// Set iff _M_buf is allocated memory from _M_allocate_internal_buffer.
|
||||||
/**
|
|
||||||
* @if maint
|
|
||||||
* @doctodo
|
|
||||||
* @endif
|
|
||||||
*/
|
|
||||||
bool _M_buf_allocated;
|
bool _M_buf_allocated;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -316,24 +279,13 @@ namespace std
|
||||||
close() throw();
|
close() throw();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
/**
|
|
||||||
* @if maint
|
|
||||||
* @doctodo
|
|
||||||
* @endif
|
|
||||||
*/
|
|
||||||
void
|
void
|
||||||
_M_allocate_internal_buffer();
|
_M_allocate_internal_buffer();
|
||||||
|
|
||||||
/**
|
|
||||||
* @if maint
|
|
||||||
* @doctodo
|
|
||||||
* @endif
|
|
||||||
*/
|
|
||||||
void
|
void
|
||||||
_M_destroy_internal_buffer() throw();
|
_M_destroy_internal_buffer() throw();
|
||||||
|
|
||||||
// [27.8.1.4] overridden virtual functions
|
// [27.8.1.4] overridden virtual functions
|
||||||
// [documentation is inherited]
|
|
||||||
virtual streamsize
|
virtual streamsize
|
||||||
showmanyc();
|
showmanyc();
|
||||||
|
|
||||||
|
@ -342,11 +294,9 @@ namespace std
|
||||||
// charater from the real input source when the buffer is empty.
|
// charater from the real input source when the buffer is empty.
|
||||||
// Buffered input uses underflow()
|
// Buffered input uses underflow()
|
||||||
|
|
||||||
// [documentation is inherited]
|
|
||||||
virtual int_type
|
virtual int_type
|
||||||
underflow();
|
underflow();
|
||||||
|
|
||||||
// [documentation is inherited]
|
|
||||||
virtual int_type
|
virtual int_type
|
||||||
pbackfail(int_type __c = _Traits::eof());
|
pbackfail(int_type __c = _Traits::eof());
|
||||||
|
|
||||||
|
@ -357,21 +307,11 @@ namespace std
|
||||||
// character c.
|
// character c.
|
||||||
// 27.5.2.4.5
|
// 27.5.2.4.5
|
||||||
// Consume some sequence of the characters in the pending sequence.
|
// Consume some sequence of the characters in the pending sequence.
|
||||||
/**
|
|
||||||
* @if maint
|
|
||||||
* @doctodo
|
|
||||||
* @endif
|
|
||||||
*/
|
|
||||||
virtual int_type
|
virtual int_type
|
||||||
overflow(int_type __c = _Traits::eof());
|
overflow(int_type __c = _Traits::eof());
|
||||||
|
|
||||||
// Convert internal byte sequence to external, char-based
|
// Convert internal byte sequence to external, char-based
|
||||||
// sequence via codecvt.
|
// sequence via codecvt.
|
||||||
/**
|
|
||||||
* @if maint
|
|
||||||
* @doctodo
|
|
||||||
* @endif
|
|
||||||
*/
|
|
||||||
bool
|
bool
|
||||||
_M_convert_to_external(char_type*, streamsize);
|
_M_convert_to_external(char_type*, streamsize);
|
||||||
|
|
||||||
|
@ -390,47 +330,31 @@ namespace std
|
||||||
virtual __streambuf_type*
|
virtual __streambuf_type*
|
||||||
setbuf(char_type* __s, streamsize __n);
|
setbuf(char_type* __s, streamsize __n);
|
||||||
|
|
||||||
// [documentation is inherited]
|
|
||||||
virtual pos_type
|
virtual pos_type
|
||||||
seekoff(off_type __off, ios_base::seekdir __way,
|
seekoff(off_type __off, ios_base::seekdir __way,
|
||||||
ios_base::openmode __mode = ios_base::in | ios_base::out);
|
ios_base::openmode __mode = ios_base::in | ios_base::out);
|
||||||
|
|
||||||
// [documentation is inherited]
|
|
||||||
virtual pos_type
|
virtual pos_type
|
||||||
seekpos(pos_type __pos,
|
seekpos(pos_type __pos,
|
||||||
ios_base::openmode __mode = ios_base::in | ios_base::out);
|
ios_base::openmode __mode = ios_base::in | ios_base::out);
|
||||||
|
|
||||||
// Common code for seekoff and seekpos
|
// Common code for seekoff and seekpos
|
||||||
/**
|
|
||||||
* @if maint
|
|
||||||
* @doctodo
|
|
||||||
* @endif
|
|
||||||
*/
|
|
||||||
pos_type
|
pos_type
|
||||||
_M_seek(off_type __off, ios_base::seekdir __way, __state_type __state);
|
_M_seek(off_type __off, ios_base::seekdir __way, __state_type __state);
|
||||||
|
|
||||||
// [documentation is inherited]
|
|
||||||
virtual int
|
virtual int
|
||||||
sync();
|
sync();
|
||||||
|
|
||||||
// [documentation is inherited]
|
|
||||||
virtual void
|
virtual void
|
||||||
imbue(const locale& __loc);
|
imbue(const locale& __loc);
|
||||||
|
|
||||||
// [documentation is inherited]
|
|
||||||
virtual streamsize
|
virtual streamsize
|
||||||
xsgetn(char_type* __s, streamsize __n);
|
xsgetn(char_type* __s, streamsize __n);
|
||||||
|
|
||||||
// [documentation is inherited]
|
|
||||||
virtual streamsize
|
virtual streamsize
|
||||||
xsputn(const char_type* __s, streamsize __n);
|
xsputn(const char_type* __s, streamsize __n);
|
||||||
|
|
||||||
// Flushes output buffer, then writes unshift sequence.
|
// Flushes output buffer, then writes unshift sequence.
|
||||||
/**
|
|
||||||
* @if maint
|
|
||||||
* @doctodo
|
|
||||||
* @endif
|
|
||||||
*/
|
|
||||||
bool
|
bool
|
||||||
_M_terminate_output();
|
_M_terminate_output();
|
||||||
|
|
||||||
|
@ -491,11 +415,6 @@ namespace std
|
||||||
typedef basic_istream<char_type, traits_type> __istream_type;
|
typedef basic_istream<char_type, traits_type> __istream_type;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/**
|
|
||||||
* @if maint
|
|
||||||
* @doctodo
|
|
||||||
* @endif
|
|
||||||
*/
|
|
||||||
__filebuf_type _M_filebuf;
|
__filebuf_type _M_filebuf;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
@ -620,11 +539,6 @@ namespace std
|
||||||
typedef basic_ostream<char_type, traits_type> __ostream_type;
|
typedef basic_ostream<char_type, traits_type> __ostream_type;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/**
|
|
||||||
* @if maint
|
|
||||||
* @doctodo
|
|
||||||
* @endif
|
|
||||||
*/
|
|
||||||
__filebuf_type _M_filebuf;
|
__filebuf_type _M_filebuf;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
@ -753,11 +667,6 @@ namespace std
|
||||||
typedef basic_iostream<char_type, traits_type> __iostream_type;
|
typedef basic_iostream<char_type, traits_type> __iostream_type;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/**
|
|
||||||
* @if maint
|
|
||||||
* @doctodo
|
|
||||||
* @endif
|
|
||||||
*/
|
|
||||||
__filebuf_type _M_filebuf;
|
__filebuf_type _M_filebuf;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -73,16 +73,9 @@ namespace std
|
||||||
typedef typename traits_type::pos_type pos_type;
|
typedef typename traits_type::pos_type pos_type;
|
||||||
typedef typename traits_type::off_type off_type;
|
typedef typename traits_type::off_type off_type;
|
||||||
|
|
||||||
//@{
|
|
||||||
/**
|
|
||||||
* @if maint
|
|
||||||
* @doctodo
|
|
||||||
* @endif
|
|
||||||
*/
|
|
||||||
typedef basic_streambuf<char_type, traits_type> __streambuf_type;
|
typedef basic_streambuf<char_type, traits_type> __streambuf_type;
|
||||||
typedef basic_string<char_type, _Traits, _Alloc> __string_type;
|
typedef basic_string<char_type, _Traits, _Alloc> __string_type;
|
||||||
typedef typename __string_type::size_type __size_type;
|
typedef typename __string_type::size_type __size_type;
|
||||||
//@}
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
/**
|
/**
|
||||||
|
@ -93,11 +86,6 @@ namespace std
|
||||||
ios_base::openmode _M_mode;
|
ios_base::openmode _M_mode;
|
||||||
|
|
||||||
// Data Members:
|
// Data Members:
|
||||||
/**
|
|
||||||
* @if maint
|
|
||||||
* @doctodo
|
|
||||||
* @endif
|
|
||||||
*/
|
|
||||||
__string_type _M_string;
|
__string_type _M_string;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
@ -169,11 +157,6 @@ namespace std
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// Common initialization code goes here.
|
// Common initialization code goes here.
|
||||||
/**
|
|
||||||
* @if maint
|
|
||||||
* @doctodo
|
|
||||||
* @endif
|
|
||||||
*/
|
|
||||||
void
|
void
|
||||||
_M_stringbuf_init(ios_base::openmode __mode)
|
_M_stringbuf_init(ios_base::openmode __mode)
|
||||||
{
|
{
|
||||||
|
@ -185,15 +168,12 @@ namespace std
|
||||||
_M_sync(const_cast<char_type*>(_M_string.data()), 0, __len);
|
_M_sync(const_cast<char_type*>(_M_string.data()), 0, __len);
|
||||||
}
|
}
|
||||||
|
|
||||||
// [documentation is inherited]
|
|
||||||
virtual int_type
|
virtual int_type
|
||||||
underflow();
|
underflow();
|
||||||
|
|
||||||
// [documentation is inherited]
|
|
||||||
virtual int_type
|
virtual int_type
|
||||||
pbackfail(int_type __c = traits_type::eof());
|
pbackfail(int_type __c = traits_type::eof());
|
||||||
|
|
||||||
// [documentation is inherited]
|
|
||||||
virtual int_type
|
virtual int_type
|
||||||
overflow(int_type __c = traits_type::eof());
|
overflow(int_type __c = traits_type::eof());
|
||||||
|
|
||||||
|
@ -227,12 +207,10 @@ namespace std
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
// [documentation is inherited]
|
|
||||||
virtual pos_type
|
virtual pos_type
|
||||||
seekoff(off_type __off, ios_base::seekdir __way,
|
seekoff(off_type __off, ios_base::seekdir __way,
|
||||||
ios_base::openmode __mode = ios_base::in | ios_base::out);
|
ios_base::openmode __mode = ios_base::in | ios_base::out);
|
||||||
|
|
||||||
// [documentation is inherited]
|
|
||||||
virtual pos_type
|
virtual pos_type
|
||||||
seekpos(pos_type __sp,
|
seekpos(pos_type __sp,
|
||||||
ios_base::openmode __mode = ios_base::in | ios_base::out);
|
ios_base::openmode __mode = ios_base::in | ios_base::out);
|
||||||
|
@ -243,11 +221,6 @@ namespace std
|
||||||
// Assumes: contents of _M_string and internal buffer match exactly.
|
// Assumes: contents of _M_string and internal buffer match exactly.
|
||||||
// __i == _M_in_cur - _M_in_beg
|
// __i == _M_in_cur - _M_in_beg
|
||||||
// __o == _M_out_cur - _M_out_beg
|
// __o == _M_out_cur - _M_out_beg
|
||||||
/**
|
|
||||||
* @if maint
|
|
||||||
* @doctodo
|
|
||||||
* @endif
|
|
||||||
*/
|
|
||||||
void
|
void
|
||||||
_M_sync(char_type* __base, __size_type __i, __size_type __o)
|
_M_sync(char_type* __base, __size_type __i, __size_type __o)
|
||||||
{
|
{
|
||||||
|
@ -320,11 +293,6 @@ namespace std
|
||||||
typedef basic_istream<char_type, traits_type> __istream_type;
|
typedef basic_istream<char_type, traits_type> __istream_type;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/**
|
|
||||||
* @if maint
|
|
||||||
* @doctodo
|
|
||||||
* @endif
|
|
||||||
*/
|
|
||||||
__stringbuf_type _M_stringbuf;
|
__stringbuf_type _M_stringbuf;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
@ -438,11 +406,6 @@ namespace std
|
||||||
typedef basic_ostream<char_type, traits_type> __ostream_type;
|
typedef basic_ostream<char_type, traits_type> __ostream_type;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/**
|
|
||||||
* @if maint
|
|
||||||
* @doctodo
|
|
||||||
* @endif
|
|
||||||
*/
|
|
||||||
__stringbuf_type _M_stringbuf;
|
__stringbuf_type _M_stringbuf;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
@ -556,11 +519,6 @@ namespace std
|
||||||
typedef basic_iostream<char_type, traits_type> __iostream_type;
|
typedef basic_iostream<char_type, traits_type> __iostream_type;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/**
|
|
||||||
* @if maint
|
|
||||||
* @doctodo
|
|
||||||
* @endif
|
|
||||||
*/
|
|
||||||
__stringbuf_type _M_stringbuf;
|
__stringbuf_type _M_stringbuf;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -37,8 +37,8 @@
|
||||||
* in your programs, rather than any of the "st[dl]_*.h" implementation files.
|
* in your programs, rather than any of the "st[dl]_*.h" implementation files.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _CLIBXX_STREAMBUF
|
#ifndef _GLIBXX_STREAMBUF
|
||||||
#define _CLIBXX_STREAMBUF 1
|
#define _GLIBXX_STREAMBUF 1
|
||||||
|
|
||||||
#pragma GCC system_header
|
#pragma GCC system_header
|
||||||
|
|
||||||
|
|
|
@ -27,6 +27,10 @@
|
||||||
// invalidate any other reasons why the executable file might be covered by
|
// invalidate any other reasons why the executable file might be covered by
|
||||||
// the GNU General Public License.
|
// the GNU General Public License.
|
||||||
|
|
||||||
|
/** @file
|
||||||
|
* This is a TR1 C++ Library header.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef _ARRAY
|
#ifndef _ARRAY
|
||||||
#define _ARRAY 1
|
#define _ARRAY 1
|
||||||
|
|
||||||
|
@ -40,8 +44,8 @@ namespace std
|
||||||
{
|
{
|
||||||
namespace tr1
|
namespace tr1
|
||||||
{
|
{
|
||||||
/// @brief [6.2.2] Class template array template
|
/// @brief struct array [6.2.2].
|
||||||
// Requires complete type _Tp.
|
/// NB: Requires complete type _Tp.
|
||||||
template<typename _Tp, size_t _Nm = 1>
|
template<typename _Tp, size_t _Nm = 1>
|
||||||
struct array
|
struct array
|
||||||
{
|
{
|
||||||
|
@ -190,7 +194,7 @@ namespace tr1
|
||||||
operator>=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
|
operator>=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
|
||||||
{ return !(__one < __two); }
|
{ return !(__one < __two); }
|
||||||
|
|
||||||
// [6.2.2.2] Specialized algorithms.
|
// Specialized algorithms [6.2.2.2].
|
||||||
template<typename _Tp, size_t _Nm>
|
template<typename _Tp, size_t _Nm>
|
||||||
void
|
void
|
||||||
swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two)
|
swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two)
|
||||||
|
|
|
@ -22,6 +22,10 @@
|
||||||
|
|
||||||
// This header is automatically generated: see maketuple.c for details.
|
// This header is automatically generated: see maketuple.c for details.
|
||||||
|
|
||||||
|
/** @file
|
||||||
|
* This is a TR1 C++ Library header.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef _TUPLE
|
#ifndef _TUPLE
|
||||||
#define _TUPLE 1
|
#define _TUPLE 1
|
||||||
|
|
||||||
|
@ -35,7 +39,6 @@ namespace tr1
|
||||||
// when the tuple is not maximum possible size.
|
// when the tuple is not maximum possible size.
|
||||||
struct _NullClass { };
|
struct _NullClass { };
|
||||||
|
|
||||||
/// @brief Foward definition of the tuple class.
|
|
||||||
template<typename _Tp0 = _NullClass, typename _Tp1 = _NullClass,
|
template<typename _Tp0 = _NullClass, typename _Tp1 = _NullClass,
|
||||||
typename _Tp2 = _NullClass, typename _Tp3 = _NullClass,
|
typename _Tp2 = _NullClass, typename _Tp3 = _NullClass,
|
||||||
typename _Tp4 = _NullClass, typename _Tp5 = _NullClass,
|
typename _Tp4 = _NullClass, typename _Tp5 = _NullClass,
|
||||||
|
@ -43,7 +46,7 @@ namespace tr1
|
||||||
typename _Tp8 = _NullClass, typename _Tp9 = _NullClass>
|
typename _Tp8 = _NullClass, typename _Tp9 = _NullClass>
|
||||||
class tuple;
|
class tuple;
|
||||||
|
|
||||||
/// @brief Gives the type of the ith element of a given tuple type.
|
/// Gives the type of the ith element of a given tuple type.
|
||||||
template<int __i, typename _Tp>
|
template<int __i, typename _Tp>
|
||||||
struct tuple_element;
|
struct tuple_element;
|
||||||
|
|
||||||
|
@ -110,6 +113,7 @@ namespace tr1
|
||||||
_Tp7, _Tp8, _Tp9> >
|
_Tp7, _Tp8, _Tp9> >
|
||||||
{ typedef _Tp8 type; };
|
{ typedef _Tp8 type; };
|
||||||
|
|
||||||
|
/// @brief class tuple_element
|
||||||
template<typename _Tp0, typename _Tp1, typename _Tp2, typename _Tp3,
|
template<typename _Tp0, typename _Tp1, typename _Tp2, typename _Tp3,
|
||||||
typename _Tp4, typename _Tp5, typename _Tp6, typename _Tp7,
|
typename _Tp4, typename _Tp5, typename _Tp6, typename _Tp7,
|
||||||
typename _Tp8, typename _Tp9>
|
typename _Tp8, typename _Tp9>
|
||||||
|
@ -117,7 +121,7 @@ namespace tr1
|
||||||
_Tp7, _Tp8, _Tp9> >
|
_Tp7, _Tp8, _Tp9> >
|
||||||
{ typedef _Tp9 type; };
|
{ typedef _Tp9 type; };
|
||||||
|
|
||||||
/// @brief Finds the size of a given tuple type.
|
/// Finds the size of a given tuple type.
|
||||||
template<typename _Tp>
|
template<typename _Tp>
|
||||||
struct tuple_size;
|
struct tuple_size;
|
||||||
|
|
||||||
|
@ -181,6 +185,7 @@ namespace tr1
|
||||||
_Tp8, _NullClass> >
|
_Tp8, _NullClass> >
|
||||||
{ static const int value = 9; };
|
{ static const int value = 9; };
|
||||||
|
|
||||||
|
/// @brief class tuple_size
|
||||||
template<typename _Tp0, typename _Tp1, typename _Tp2, typename _Tp3,
|
template<typename _Tp0, typename _Tp1, typename _Tp2, typename _Tp3,
|
||||||
typename _Tp4, typename _Tp5, typename _Tp6, typename _Tp7,
|
typename _Tp4, typename _Tp5, typename _Tp6, typename _Tp7,
|
||||||
typename _Tp8, typename _Tp9>
|
typename _Tp8, typename _Tp9>
|
||||||
|
@ -821,6 +826,7 @@ namespace tr1
|
||||||
friend class tuple;
|
friend class tuple;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/// @brief Template class tuple
|
||||||
template<typename _Tp0, typename _Tp1, typename _Tp2, typename _Tp3,
|
template<typename _Tp0, typename _Tp1, typename _Tp2, typename _Tp3,
|
||||||
typename _Tp4, typename _Tp5, typename _Tp6, typename _Tp7,
|
typename _Tp4, typename _Tp5, typename _Tp6, typename _Tp7,
|
||||||
typename _Tp8, typename _Tp9>
|
typename _Tp8, typename _Tp9>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue