5  * This material is provided "as is", with absolutely no warranty expressed
 
     6  * or implied. Any use is at your own risk.
 
     8  * Permission to use or copy this software for any purpose is hereby granted 
 
     9  * without fee, provided the above notices are retained on all copies.
 
    10  * Permission to modify the code and to distribute modified code is granted,
 
    11  * provided the above notices are retained, and a notice that the code was
 
    12  * modified is included with the above copyright notice.
 
    16 # ifndef _STLP_CSTDDEF
 
    17 #  include <cstddef> /* wchar_t */
 
    20 # ifndef _STLP_CSTRING
 
    24 # if defined (_STLP_USE_NEW_IOSTREAMS)
 
    26 #   include _STLP_NATIVE_HEADER(iosfwd)
 
    28 #  if defined ( __MWERKS__ ) || defined (__KCC)
 
    29 // MSL leaves a few important things out of <iosfwd>.
 
    30 // We expect this to be fixed in later MSL implementations
 
    31 # if !defined( __MSL_CPP__ ) || __MSL_CPP__ <= 0x4105
 
    33 #    ifdef MSIPL_USING_NAMESPACE
 
    37 // A few things that seem to be missing from CodeWarrior's <iosfwd>
 
    39 template <class charT, class traits = char_traits<charT> >
 
    40   class istreambuf_iterator;
 
    42 template <class charT, class traits = char_traits<charT> >
 
    43   class ostreambuf_iterator;
 
    44 #    endif /* __MWERKS__ */
 
    46 #  if defined (_STLP_NO_NATIVE_WIDE_STREAMS)
 
    50 #  ifdef MSIPL_USING_NAMESPACE
 
    54 #   endif    /* __MSL__ version */
 
    60 template <class _Tp> class allocator;
 
    63 // use old-style iostreams
 
    64 #  include <iostream.h>
 
    67 #ifndef _STLP_CHAR_TRAITS_H
 
    68 // that defines char_traits or imports std::char_traits
 
    69 # include <stl/char_traits.h>
 
    72 # endif /* _STLP_USE_NEW_IOSTREAMS */
 
    74 # ifdef _STLP_USE_ABBREVS
 
    75 #  define istream_iterator               _iS__It
 
    76 #  define ostream_iterator               _oS__It
 
    79 # if  defined (_STLP_USE_OWN_NAMESPACE)
 
    81 #  include <using/iosfwd>