+// © 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__