]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/common/unicode/std_string.h
ICU-62123.0.1.tar.gz
[apple/icu.git] / icuSources / common / unicode / std_string.h
index dd43b745a00c5345ae981126fb292368ee72be35..729c56399506eb38b2c9edc1c6420e5abbe5d897 100644 (file)
@@ -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
 *
 #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 <string>
 
-/**
- * \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__