Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:13:15

0001 // © 2016 and later: Unicode, Inc. and others.
0002 // License & terms of use: http://www.unicode.org/copyright.html
0003 /*
0004 **********************************************************************
0005 *   Copyright (C) 2001-2014 International Business Machines
0006 *   Corporation and others.  All Rights Reserved.
0007 **********************************************************************
0008 *  FILE NAME : ustream.h
0009 *
0010 *   Modification History:
0011 *
0012 *   Date        Name        Description
0013 *   06/25/2001  grhoten     Move iostream from unistr.h
0014 ******************************************************************************
0015 */
0016 
0017 #ifndef USTREAM_H
0018 #define USTREAM_H
0019 
0020 #include "unicode/utypes.h"
0021 
0022 #if U_SHOW_CPLUSPLUS_API
0023 
0024 #include "unicode/unistr.h"
0025 
0026 #if !UCONFIG_NO_CONVERSION  // not available without conversion
0027 
0028 /**
0029  * \file
0030  * \brief C++ API: Unicode iostream like API
0031  *
0032  * At this time, this API is very limited. It contains
0033  * operator<< and operator>> for UnicodeString manipulation with the
0034  * C++ I/O stream API.
0035  */
0036 
0037 #if defined(__GLIBCXX__)
0038 namespace std { class type_info; } // WORKAROUND: http://llvm.org/bugs/show_bug.cgi?id=13364
0039 #endif
0040 
0041 #include <iostream>
0042 
0043 U_NAMESPACE_BEGIN
0044 
0045 /**
0046  * Write the contents of a UnicodeString to a C++ ostream. This functions writes
0047  * the characters in a UnicodeString to an ostream. The UChars in the
0048  * UnicodeString are converted to the char based ostream with the default
0049  * converter.
0050  * @stable 3.0
0051  */
0052 U_IO_API std::ostream & U_EXPORT2 operator<<(std::ostream& stream, const UnicodeString& s);
0053 
0054 /**
0055  * Write the contents from a C++ istream to a UnicodeString. The UChars in the
0056  * UnicodeString are converted from the char based istream with the default
0057  * converter.
0058  * @stable 3.0
0059  */
0060 U_IO_API std::istream & U_EXPORT2 operator>>(std::istream& stream, UnicodeString& s);
0061 U_NAMESPACE_END
0062 
0063 #endif
0064 
0065 /* No operator for UChar because it can conflict with wchar_t  */
0066 
0067 #endif /* U_SHOW_CPLUSPLUS_API */
0068 
0069 #endif