1*404b540aSrobert // String support -*- C++ -*- 2*404b540aSrobert 3*404b540aSrobert // Copyright (C) 2001, 2002, 2005 Free Software Foundation, Inc. 4*404b540aSrobert // 5*404b540aSrobert // This file is part of the GNU ISO C++ Library. This library is free 6*404b540aSrobert // software; you can redistribute it and/or modify it under the 7*404b540aSrobert // terms of the GNU General Public License as published by the 8*404b540aSrobert // Free Software Foundation; either version 2, or (at your option) 9*404b540aSrobert // any later version. 10*404b540aSrobert 11*404b540aSrobert // This library is distributed in the hope that it will be useful, 12*404b540aSrobert // but WITHOUT ANY WARRANTY; without even the implied warranty of 13*404b540aSrobert // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14*404b540aSrobert // GNU General Public License for more details. 15*404b540aSrobert 16*404b540aSrobert // You should have received a copy of the GNU General Public License along 17*404b540aSrobert // with this library; see the file COPYING. If not, write to the Free 18*404b540aSrobert // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 19*404b540aSrobert // USA. 20*404b540aSrobert 21*404b540aSrobert // As a special exception, you may use this file as part of a free software 22*404b540aSrobert // library without restriction. Specifically, if other files instantiate 23*404b540aSrobert // templates or use macros or inline functions from this file, or you compile 24*404b540aSrobert // this file and link it with other files to produce an executable, this 25*404b540aSrobert // file does not by itself cause the resulting executable to be covered by 26*404b540aSrobert // the GNU General Public License. This exception does not however 27*404b540aSrobert // invalidate any other reasons why the executable file might be covered by 28*404b540aSrobert // the GNU General Public License. 29*404b540aSrobert 30*404b540aSrobert /** @file stringfwd.h 31*404b540aSrobert * This is an internal header file, included by other library headers. 32*404b540aSrobert * You should not attempt to use it directly. 33*404b540aSrobert */ 34*404b540aSrobert 35*404b540aSrobert // 36*404b540aSrobert // ISO C++ 14882: 21 Strings library 37*404b540aSrobert // 38*404b540aSrobert 39*404b540aSrobert #ifndef _STRINGFWD_H 40*404b540aSrobert #define _STRINGFWD_H 1 41*404b540aSrobert 42*404b540aSrobert #pragma GCC system_header 43*404b540aSrobert 44*404b540aSrobert #include <bits/c++config.h> 45*404b540aSrobert 46*404b540aSrobert _GLIBCXX_BEGIN_NAMESPACE(std) 47*404b540aSrobert 48*404b540aSrobert template<typename _Alloc> 49*404b540aSrobert class allocator; 50*404b540aSrobert 51*404b540aSrobert template<class _CharT> 52*404b540aSrobert struct char_traits; 53*404b540aSrobert 54*404b540aSrobert template<typename _CharT, typename _Traits = char_traits<_CharT>, 55*404b540aSrobert typename _Alloc = allocator<_CharT> > 56*404b540aSrobert class basic_string; 57*404b540aSrobert 58*404b540aSrobert template<> struct char_traits<char>; 59*404b540aSrobert 60*404b540aSrobert typedef basic_string<char> string; 61*404b540aSrobert 62*404b540aSrobert #ifdef _GLIBCXX_USE_WCHAR_T 63*404b540aSrobert template<> struct char_traits<wchar_t>; 64*404b540aSrobert 65*404b540aSrobert typedef basic_string<wchar_t> wstring; 66*404b540aSrobert #endif 67*404b540aSrobert 68*404b540aSrobert _GLIBCXX_END_NAMESPACE 69*404b540aSrobert 70*404b540aSrobert #endif // _STRINGFWD_H 71