/* ******************************************************************************* * * 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. * @draft ICU 4.2 */ #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__