X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/729e4ab9bc6618bc3d8a898e575df7f4019e29ca..4f1e1a09ce4daed860e35d359ce2fceccb0764e8:/icuSources/common/unicode/std_string.h?ds=sidebyside diff --git a/icuSources/common/unicode/std_string.h b/icuSources/common/unicode/std_string.h index dd43b745..729c5639 100644 --- a/icuSources/common/unicode/std_string.h +++ b/icuSources/common/unicode/std_string.h @@ -1,12 +1,14 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html /* ******************************************************************************* * -* Copyright (C) 2009-2010, International Business Machines +* Copyright (C) 2009-2014, International Business Machines * Corporation and others. All Rights Reserved. * ******************************************************************************* * file name: std_string.h -* encoding: US-ASCII +* encoding: UTF-8 * tab size: 8 (not used) * indentation:4 * @@ -18,61 +20,18 @@ #define __STD_STRING_H__ /** - * \file + * \file * \brief C++ API: Central ICU header for including the C++ standard <string> * header and for related definitions. */ #include "unicode/utypes.h" -/** - * \def U_HAVE_STD_STRING - * Define whether the standard C++ (STL) <string> header is available. - * @internal - */ -#ifndef U_HAVE_STD_STRING -#define U_HAVE_STD_STRING 1 +// Workaround for a libstdc++ bug before libstdc++4.6 (2011). +// https://bugs.llvm.org/show_bug.cgi?id=13364 +#if defined(__GLIBCXX__) +namespace std { class type_info; } #endif - -#if U_HAVE_STD_STRING - #include -/** - * \def U_STD_NS - * Define the namespace to use for standard C++ (STL) classes. - * Either std or empty. - * @draft ICU 4.2 - */ - -/** - * \def U_STD_NSQ - * Define the namespace qualifier to use for standard C++ (STL) classes. - * Either std:: or empty. - * For example, - * U_STD_NSQ string StringFromUnicodeString(const UnicodeString &unistr); - * @draft ICU 4.2 - */ - -/** - * \def U_STD_NS_USE - * This is used to specify that the rest of the code uses the - * standard (STL) namespace. - * Either "using namespace std;" or empty. - * @draft ICU 4.2 - */ -#ifndef U_STD_NSQ -# if U_HAVE_NAMESPACE -# define U_STD_NS std -# define U_STD_NSQ U_STD_NS:: -# define U_STD_NS_USE using namespace U_STD_NS; -# else -# define U_STD_NS -# define U_STD_NSQ -# define U_STD_NS_USE -# endif -#endif - -#endif // U_HAVE_STD_STRING - #endif // __STD_STRING_H__