| /* |
| ******************************************************************************* |
| * |
| * Copyright (C) 2009-2010, International Business Machines |
| * Corporation and others. All Rights Reserved. |
| * |
| ******************************************************************************* |
| * file name: std_string.h |
| * encoding: US-ASCII |
| * tab size: 8 (not used) |
| * indentation:4 |
| * |
| * created on: 2009feb19 |
| * created by: Markus W. Scherer |
| */ |
| |
| #ifndef __STD_STRING_H__ |
| #define __STD_STRING_H__ |
| |
| /** |
| * \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 |
| #endif |
| |
| #endif // U_HAVE_STD_STRING |
| |
| #endif // __STD_STRING_H__ |