/*
*******************************************************************************
*
-* Copyright (C) 2009-2010, International Business Machines
+* Copyright (C) 2009-2014, International Business Machines
* Corporation and others. All Rights Reserved.
*
*******************************************************************************
#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
-#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
+#if !defined(_MSC_VER)
+namespace std { class type_info; } // WORKAROUND: http://llvm.org/bugs/show_bug.cgi?id=13364
#endif
+#include <string>
#endif // U_HAVE_STD_STRING