// { dg-do compile } // Copyright (C) 2007, 2009 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the // terms of the GNU General Public License as published by the // Free Software Foundation; either version 3, or (at your option) // any later version. // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License along // with this library; see the file COPYING3. If not see // . #include namespace std { // lib.char.traits, character traits: template struct char_traits; template <> struct char_traits; template <> struct char_traits; // lib.basic.string, basic_string: template class basic_string; template basic_string operator+(const basic_string& lhs, const basic_string& rhs); template basic_string operator+(const charT* lhs, const basic_string& rhs); template basic_string operator+(charT lhs, const basic_string& rhs); template basic_string operator+(const basic_string& lhs, const charT* rhs); template basic_string operator+(const basic_string& lhs, charT rhs); template bool operator==(const basic_string& lhs, const basic_string& rhs); template bool operator==(const charT* lhs, const basic_string& rhs); template bool operator==(const basic_string& lhs, const charT* rhs); template bool operator!=(const basic_string& lhs, const basic_string& rhs); template bool operator!=(const charT* lhs, const basic_string& rhs); template bool operator!=(const basic_string& lhs, const charT* rhs); template bool operator< (const basic_string& lhs, const basic_string& rhs); template bool operator< (const basic_string& lhs, const charT* rhs); template bool operator< (const charT* lhs, const basic_string& rhs); template bool operator> (const basic_string& lhs, const basic_string& rhs); template bool operator> (const basic_string& lhs, const charT* rhs); template bool operator> (const charT* lhs, const basic_string& rhs); template bool operator<=(const basic_string& lhs, const basic_string& rhs); template bool operator<=(const basic_string& lhs, const charT* rhs); template bool operator<=(const charT* lhs, const basic_string& rhs); template bool operator>=(const basic_string& lhs, const basic_string& rhs); template bool operator>=(const basic_string& lhs, const charT* rhs); template bool operator>=(const charT* lhs, const basic_string& rhs); // lib.string.special: template void swap(basic_string& lhs, basic_string& rhs); template basic_istream& operator>>(basic_istream& is, basic_string& str); template basic_ostream& operator<<(basic_ostream& os, const basic_string& str); template basic_istream& getline(basic_istream& is, basic_string& str, charT delim); template basic_istream& getline(basic_istream& is, basic_string& str); typedef basic_string string; typedef basic_string wstring; }