std_cwctype.h: Include std_cwchar.h for wint_t.

2001-01-03  Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_std/bits/std_cwctype.h: Include std_cwchar.h for wint_t.
	* testsuite/17_intro/header_cwctype.cc (main): New file.

	* src/Makefile.am (base_headers): Change.
	* include/bits/std_string.h: And here.
	* include/bits/string.tcc: Tweaks, move to...
	* include/bits/basic_string.tcc: ...Here.
	* src/string-inst.cc: Simplify, just instantiate the whole class,
	not member-by-member.

From-SVN: r38679
This commit is contained in:
Benjamin Kosnik 2001-01-04 04:21:42 +00:00 committed by Benjamin Kosnik
parent 584ef5fea5
commit e61c3e8cde
7 changed files with 35 additions and 194 deletions

View File

@ -1,3 +1,15 @@
2001-01-03 Benjamin Kosnik <bkoz@redhat.com>
* include/c_std/bits/std_cwctype.h: Include std_cwchar.h for wint_t.
* testsuite/17_intro/header_cwctype.cc (main): New file.
* src/Makefile.am (base_headers): Change.
* include/bits/std_string.h: And here.
* include/bits/string.tcc: Tweaks, move to...
* include/bits/basic_string.tcc: ...Here.
* src/string-inst.cc: Simplify, just instantiate the whole class,
not member-by-member.
2001-01-02 Benjamin Kosnik <bkoz@redhat.com>
* acinclude.m4 (GLIBCPP_ENABLD_CSTDIO): Add in default value.

View File

@ -1,6 +1,6 @@
// Components for manipulating sequences of characters -*- C++ -*-
// Copyright (C) 2000, 1999, 1998, 1997 Free Software Foundation, Inc.
// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@ -42,7 +42,6 @@
namespace std
{
template<typename _CharT, typename _Traits, typename _Alloc>
const _CharT
basic_string<_CharT, _Traits, _Alloc>::

View File

@ -1,6 +1,6 @@
// Components for manipulating sequences of characters -*- C++ -*-
// Copyright (C) 1997-1999 Free Software Foundation, Inc.
// Copyright (C) 1997, 1998, 1999, 2000, 2001 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
@ -44,7 +44,7 @@
#ifdef _GLIBCPP_NO_TEMPLATE_EXPORT
# include <bits/std_algorithm.h> // for find_if
# include <bits/string.tcc>
# include <bits/basic_string.tcc>
#endif
#endif /* _CPP_STRING */

View File

@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
// Copyright (C) 1997-1999, 2000 Free Software Foundation, Inc.
// Copyright (C) 1997, 1998, 1999, 2000, 2001 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
@ -36,6 +36,8 @@
#ifndef _CPP_CWCTYPE
#define _CPP_CWCTYPE 1
#include <bits/std_cwchar.h>
#pragma GCC system_header
#include <wctype.h>

View File

@ -21,7 +21,7 @@
## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
## USA.
## $Id: Makefile.am,v 1.60 2000/12/21 01:28:57 gdr Exp $
## $Id: Makefile.am,v 1.61 2000/12/23 07:13:57 bkoz Exp $
AUTOMAKE_OPTIONS = 1.3 gnits
MAINT_CHARSET = latin1
@ -76,7 +76,7 @@ INCLUDES = \
base_headers = \
bits/cpp_type_traits.h bits/char_traits.h bits/codecvt.h \
bits/basic_string.h bits/std_string.h bits/string.tcc \
bits/std_string.h bits/basic_string.h bits/basic_string.tcc \
bits/generic_shadow.h bits/std_utility.h \
bits/std_complex.h \
bits/valarray_array.h bits/valarray_array.tcc bits/valarray_meta.h \

View File

@ -148,7 +148,7 @@ TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
INCLUDES = -nostdinc++ -I$(GLIBCPP_INCLUDE_DIR) $(CSTD_INCLUDES) -I$(top_builddir)/include $(LIBSUPCXX_INCLUDES) $(LIBIO_INCLUDES) $(LIBMATH_INCLUDES) $(TOPLEVEL_INCLUDES)
base_headers = bits/cpp_type_traits.h bits/char_traits.h bits/codecvt.h bits/basic_string.h bits/std_string.h bits/string.tcc bits/generic_shadow.h bits/std_utility.h bits/std_complex.h bits/valarray_array.h bits/valarray_array.tcc bits/valarray_meta.h bits/std_valarray.h bits/mask_array.h bits/slice.h bits/slice_array.h bits/gslice.h bits/gslice_array.h bits/indirect_array.h bits/exception_support.h bits/std_fstream.h bits/std_iomanip.h bits/ios_base.h bits/fpos.h bits/basic_ios.h bits/basic_ios.tcc bits/std_ios.h bits/std_iosfwd.h bits/std_iostream.h bits/std_istream.h bits/istream.tcc bits/std_locale.h bits/fstream.tcc bits/ostream.tcc bits/sbuf_iter.h bits/sstream.tcc bits/std_ostream.h bits/std_sstream.h bits/std_streambuf.h bits/streambuf.tcc bits/basic_file.h bits/locale_facets.h bits/locale_facets.tcc bits/localefwd.h bits/stl_pthread_alloc.h bits/pthread_allocimpl.h bits/stl_threads.h bits/stl_iterator_base.h bits/std_bitset.h bits/std_deque.h bits/std_functional.h bits/std_iterator.h bits/std_list.h bits/std_map.h bits/std_memory.h bits/std_numeric.h bits/std_queue.h bits/std_set.h bits/std_stack.h bits/std_stdexcept.h bits/std_vector.h bits/stl_algo.h bits/stl_algobase.h bits/stl_alloc.h bits/stl_deque.h bits/stl_function.h bits/stl_heap.h bits/stl_iterator.h bits/stl_list.h bits/stl_map.h bits/stl_multimap.h bits/stl_multiset.h bits/stl_numeric.h bits/stl_pair.h bits/stl_queue.h bits/stl_raw_storage_iter.h bits/stl_relops.h bits/stl_set.h bits/stl_stack.h bits/stl_string_fwd.h bits/stl_tempbuf.h bits/stl_tree.h bits/stl_uninitialized.h bits/stl_vector.h bits/type_traits.h bits/stl_range_errors.h bits/std_algorithm.h bits/concept_checks.h bits/container_concepts.h bits/sequence_concepts.h bits/stl_config.h bits/stl_construct.h
base_headers = bits/cpp_type_traits.h bits/char_traits.h bits/codecvt.h bits/std_string.h bits/basic_string.h bits/basic_string.tcc bits/generic_shadow.h bits/std_utility.h bits/std_complex.h bits/valarray_array.h bits/valarray_array.tcc bits/valarray_meta.h bits/std_valarray.h bits/mask_array.h bits/slice.h bits/slice_array.h bits/gslice.h bits/gslice_array.h bits/indirect_array.h bits/exception_support.h bits/std_fstream.h bits/std_iomanip.h bits/ios_base.h bits/fpos.h bits/basic_ios.h bits/basic_ios.tcc bits/std_ios.h bits/std_iosfwd.h bits/std_iostream.h bits/std_istream.h bits/istream.tcc bits/std_locale.h bits/fstream.tcc bits/ostream.tcc bits/sbuf_iter.h bits/sstream.tcc bits/std_ostream.h bits/std_sstream.h bits/std_streambuf.h bits/streambuf.tcc bits/basic_file.h bits/locale_facets.h bits/locale_facets.tcc bits/localefwd.h bits/stl_pthread_alloc.h bits/pthread_allocimpl.h bits/stl_threads.h bits/stl_iterator_base.h bits/std_bitset.h bits/std_deque.h bits/std_functional.h bits/std_iterator.h bits/std_list.h bits/std_map.h bits/std_memory.h bits/std_numeric.h bits/std_queue.h bits/std_set.h bits/std_stack.h bits/std_stdexcept.h bits/std_vector.h bits/stl_algo.h bits/stl_algobase.h bits/stl_alloc.h bits/stl_deque.h bits/stl_function.h bits/stl_heap.h bits/stl_iterator.h bits/stl_list.h bits/stl_map.h bits/stl_multimap.h bits/stl_multiset.h bits/stl_numeric.h bits/stl_pair.h bits/stl_queue.h bits/stl_raw_storage_iter.h bits/stl_relops.h bits/stl_set.h bits/stl_stack.h bits/stl_string_fwd.h bits/stl_tempbuf.h bits/stl_tree.h bits/stl_uninitialized.h bits/stl_vector.h bits/type_traits.h bits/stl_range_errors.h bits/std_algorithm.h bits/concept_checks.h bits/container_concepts.h bits/sequence_concepts.h bits/stl_config.h bits/stl_construct.h
backward_headers = backward/complex.h backward/iomanip.h backward/istream.h backward/ostream.h backward/stream.h backward/streambuf.h backward/algo.h backward/algobase.h backward/alloc.h backward/bvector.h backward/defalloc.h backward/deque.h backward/function.h backward/hash_map.h backward/hash_set.h backward/hashtable.h backward/heap.h backward/iterator.h backward/list.h backward/map.h backward/multimap.h backward/new.h backward/multiset.h backward/pair.h backward/iostream.h backward/rope.h backward/set.h backward/slist.h backward/stack.h backward/tempbuf.h backward/tree.h backward/vector.h backward/fstream.h backward/strstream.h backward/strstream

View File

@ -1,6 +1,6 @@
// Components for manipulating sequences of characters -*- C++ -*-
// Copyright (C) 2000, 1999, 1998, 1997 Free Software Foundation, Inc.
// Copyright (C) 1997, 1998, 1999, 2000, 2001 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
@ -35,128 +35,31 @@
// in ANSI X3J16/94-0013R2. Rewritten by Nathan Myers.
#include <bits/std_string.h>
#include <bits/std_algorithm.h>
// Instantiation configuration.
#ifndef C
# define C char
# define _GLIBCPP_INSTANTIATING_CHAR 1
#endif
namespace std
{
typedef basic_string<C> S;
template C S::_Rep::_S_terminal;
template const S::size_type S::npos;
template S::size_type S::_Rep::_S_max_size;
template S::size_type S::_S_empty_rep_storage[];
template S::_Rep* S::_Rep::_S_create(size_t, S::allocator_type const&);
template void S::_Rep::_M_destroy(const S::allocator_type&) throw();
template void __destroy_aux(S*, S*, __false_type);
template class basic_string<C>;
template S::basic_string(S const&);
template
S::basic_string(S::size_type, C, const S::allocator_type&);
template
S::basic_string(const S::allocator_type&);
template
S::basic_string(const S&, S::size_type, S::size_type);
template
S::basic_string(const S&, S::size_type, S::size_type,
const S::allocator_type&);
template
S::basic_string(C const*, S::size_type, const S::allocator_type&);
template
S::basic_string(C const*, S::allocator_type const&);
template
S::basic_string(C*, C*, const allocator<C>&);
template
S::basic_string(S::iterator, S::iterator, const allocator<C>&);
template
void S::_M_leak_hard();
template
void S::_M_mutate(S::size_type, S::size_type, S::size_type);
template
C* S::_Rep::_M_clone(S::allocator_type const&, S::size_type);
template
void S::reserve(S::size_type);
template
void S::swap(S&);
# ifdef _GLIBCPP_ALLOC_CONTROL
template
bool (* S::_Rep::_S_excess_slop)(size_t, size_t);
template
bool S::_Rep::_S_default_excess(size_t, size_t);
# endif
template
void S::resize(S::size_type, C);
template
S& S::append(S const&);
template
S& S::append(S const&, S::size_type, S::size_type);
template
S& S::append(C const*, S::size_type);
template
S& S::append(S::size_type, C);
template
S&
S::append<S::iterator>(S::iterator, S::iterator);
template
S&
S::assign(S const&);
template
S&
S::assign<S::iterator>(S::iterator, S::iterator);
template
void
S::insert<S::iterator> //c*
(S::iterator, S::iterator, S::iterator); //it, c+, c+ and temptype = char*
template
S& S::replace(S::size_type, S::size_type, S const&,
S::size_type, S::size_type);
template
S& S::replace(S::iterator, S::iterator, S::size_type, C);
template
S&
S::replace<S::iterator> // c*
(S::iterator, S::iterator, S::iterator, S::iterator); //it, it, c+, c+
template S operator+(const C*, const S&);
template S operator+(C, const S&);
template bool operator==(const S::iterator&, const S::iterator&);
template bool operator==(const S::const_iterator&, const S::const_iterator&);
// Only one template keyword allowed here.
// See core issue #46 (NAD)
// http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_closed.html#46
template
S&
S::_M_replace<S::iterator>
(S::iterator, S::iterator, S::iterator, S::iterator, forward_iterator_tag);
// Only one template keyword allowed here.
// See core issue #46 (NAD)
// http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_closed.html#46
template
S&
S::_M_replace<S::const_iterator>
@ -164,88 +67,13 @@ namespace std
S::const_iterator, S::const_iterator, forward_iterator_tag);
template
S&
S::_M_replace<C*>
(S::iterator, S::iterator, C*, C*, forward_iterator_tag);
C*
S::_S_construct<S::iterator>
(S::iterator, S::iterator, const allocator<C>&, forward_iterator_tag);
template
S&
S::_M_replace<const C*>
(S::iterator, S::iterator, const C*, const C*, forward_iterator_tag);
template
S::size_type S::copy(C*, S::size_type, S::size_type) const;
template
C* S::_S_construct<S::iterator>(S::iterator, S::iterator,
const allocator<C>&);
template
C* S::_S_construct<S::iterator>(S::iterator, S::iterator,
const allocator<C>&, forward_iterator_tag);
template
C* S::_S_construct<C*>(C*, C*, const allocator<C>&, forward_iterator_tag);
template
C* S::_S_construct<const C*>(const C*, const C*, const allocator<C>&,
forward_iterator_tag);
template
C* S::_S_construct(S::size_type, C, S::allocator_type const&);
template
const C* S::_S_find(const C* __beg, const C* __end, C __c);
template
S::size_type S::find(C, S::size_type) const;
template
S::size_type S::rfind(C const*, S::size_type, S::size_type) const;
template
S::size_type S::rfind(C, S::size_type) const;
template
S::size_type S::find_first_of(C const*, S::size_type, S::size_type) const;
template
S::size_type S::find_last_of(C const*, S::size_type, S::size_type) const;
template
S::size_type
S::find_first_not_of(C const*, S::size_type, S::size_type) const;
template
S::size_type
S::find_last_not_of(C const*, S::size_type, S::size_type) const;
template
S::size_type S::find_last_not_of(C, S::size_type) const;
template
int S::compare(S::size_type, S::size_type, S const&) const;
template
int S::compare(S::size_type, S::size_type, S const&, S::size_type,
S::size_type) const;
template
int S::compare(C const*) const;
template
int S::compare(S::size_type, S::size_type, C const*, S::size_type) const;
template S operator+(const C*, const S&);
template S operator+(C, const S&);
template bool operator==(const S::iterator&, const S::iterator&);
template bool operator==(const S::const_iterator&, const S::const_iterator&);
template void _S_string_copy(const S&, C*, allocator<C>::size_type);
} // std
S::basic_string(S::iterator, S::iterator, const allocator<C>&);
} // namespace std