/*
 * Copyright (c) 1999
 * Boris Fomitchev
 *
 * This material is provided "as is", with absolutely no warranty expressed
 * or implied. Any use is at your own risk.
 *
 * Permission to use or copy this software for any purpose is hereby granted
 * without fee, provided the above notices are retained on all copies.
 * Permission to modify the code and to distribute modified code is granted,
 * provided the above notices are retained, and a notice that the code was
 * modified is included with the above copyright notice.
 *
 */

# ifndef _STLP_CSTDDEF
#  include <cstddef> /* wchar_t */
# endif

# ifndef _STLP_CSTRING
#  include <cstring>
# endif

# if defined (_STLP_USE_NEW_IOSTREAMS) || defined (_STLP_NO_OLD_IOSTREAM_HEADERS)

#   include _STLP_NATIVE_HEADER(iosfwd)

#  if defined ( __MWERKS__ ) || defined (__KCC)
// MSL leaves a few important things out of <iosfwd>.
// We expect this to be fixed in later MSL implementations
# if !defined( __MSL_CPP__ ) || __MSL_CPP__ <= 0x4105

#    ifdef MSIPL_USING_NAMESPACE
namespace std {
#    endif

// A few things that seem to be missing from CodeWarrior's <iosfwd>
#    ifdef __MWERKS__
template <class charT, class traits = char_traits<charT> >
  class istreambuf_iterator;

template <class charT, class traits = char_traits<charT> >
  class ostreambuf_iterator;
#    endif /* __MWERKS__ */

#  if defined (_STLP_NO_NATIVE_WIDE_STREAMS)
class streampos;
#  endif

#  ifdef MSIPL_USING_NAMESPACE
	} // namespace std
#    endif

#   endif    /* __MSL__ version */
#  endif  /* MWERKS */


// We could use old iostreams here but with new headers,
// include some native compiler stuff...
#  if ! defined(_STLP_USE_NEW_IOSTREAMS)

     // use old-style iostreams in new files (bleh, Watcom)
#    include <iostream>
#    include <fstream>

#    ifndef _STLP_CHAR_TRAITS_H
     // that defines char_traits or imports std::char_traits
#      include <stl/char_traits.h>
#    endif
#  endif
# else

_STLP_BEGIN_NAMESPACE
template <class _Tp> class allocator;
_STLP_END_NAMESPACE

// use old-style iostreams
#  include <iostream.h>
#  include <fstream.h>

#ifndef _STLP_CHAR_TRAITS_H
// that defines char_traits or imports std::char_traits
# include <stl/char_traits.h>
#endif

# endif /* _STLP_USE_NEW_IOSTREAMS */

# ifdef _STLP_USE_ABBREVS
#  define istream_iterator               _iS__It
#  define ostream_iterator               _oS__It
# endif

# if  defined (_STLP_USE_OWN_NAMESPACE)
_STLP_BEGIN_NAMESPACE
#  include <using/iosfwd>
_STLP_END_NAMESPACE
# endif

// Local Variables:
// mode:C++
// End:







