Much ado about nothing

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21530 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Enrico Forestieri 2007-11-09 10:54:45 +00:00
parent 5d906055af
commit 2a03009a75

View File

@ -1,14 +1,14 @@
// -*- C++ -*-
/**
* \file strfwd.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author André Pönitz
* \author Enrico Forestieri
*
* Full author contact details are available in file CREDITS.
*/
// Heavily inspired by /usr/include/c++/4.1/bits
//
// Copyright (C) 2001, 2002 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 2, or (at your option)
// any later version.
#ifndef STRFWD_H
#define STRFWD_H
@ -28,17 +28,28 @@ namespace lyx { typedef boost::uint32_t char_type; }
#endif
#include <iosfwd>
// We have to forward declare the string type as not all compilers
// do that in the iosfwd header.
namespace std
{
namespace std {
template<typename Alloc> class allocator;
template<typename Char> struct char_traits;
template<> struct char_traits<char>;
#ifdef USE_WCHAR_T
template<> struct char_traits<wchar_t>;
#endif
template<typename Char, typename Traits, typename Alloc> class basic_string;
typedef basic_string<char, char_traits<char>, allocator<char> > string;
}
template<class Char, class Traits> class basic_istream;
template<class Char, class Traits> class basic_ostream;
typedef basic_istream<char, char_traits<char> > istream;
typedef basic_ostream<char, char_traits<char> > ostream;
} // namepace std
namespace lyx {
@ -47,10 +58,10 @@ typedef std::basic_string<char_type, std::char_traits<char_type>,
std::allocator<char_type> > docstring;
/// Base class for UCS4 input streams
typedef std::basic_istream<char_type> idocstream;
typedef std::basic_istream<char_type, std::char_traits<char_type> > idocstream;
/// Base class for UCS4 output streams
typedef std::basic_ostream<char_type> odocstream;
typedef std::basic_ostream<char_type, std::char_traits<char_type> > odocstream;
#if ! defined(USE_WCHAR_T)
extern odocstream & operator<<(odocstream &, char);