1 /* 2 ******************************************************************************* 3 * 4 * Copyright (C) 2009-2010, International Business Machines 5 * Corporation and others. All Rights Reserved. 6 * 7 ******************************************************************************* 8 * file name: std_string.h 9 * encoding: US-ASCII 10 * tab size: 8 (not used) 11 * indentation:4 12 * 13 * created on: 2009feb19 14 * created by: Markus W. Scherer 15 */ 16 17 #ifndef __STD_STRING_H__ 18 #define __STD_STRING_H__ 19 20 /** 21 * \file 22 * \brief C++ API: Central ICU header for including the C++ standard <string> 23 * header and for related definitions. 24 */ 25 26 #include "unicode/utypes.h" 27 28 /** 29 * \def U_HAVE_STD_STRING 30 * Define whether the standard C++ (STL) <string> header is available. 31 * @internal 32 */ 33 #ifndef U_HAVE_STD_STRING 34 #define U_HAVE_STD_STRING 1 35 #endif 36 37 #if U_HAVE_STD_STRING 38 39 #include <string> 40 41 /** 42 * \def U_STD_NS 43 * Define the namespace to use for standard C++ (STL) classes. 44 * Either std or empty. 45 * @draft ICU 4.2 46 */ 47 48 /** 49 * \def U_STD_NSQ 50 * Define the namespace qualifier to use for standard C++ (STL) classes. 51 * Either std:: or empty. 52 * For example, 53 * U_STD_NSQ string StringFromUnicodeString(const UnicodeString &unistr); 54 * @draft ICU 4.2 55 */ 56 57 /** 58 * \def U_STD_NS_USE 59 * This is used to specify that the rest of the code uses the 60 * standard (STL) namespace. 61 * Either "using namespace std;" or empty. 62 * @draft ICU 4.2 63 */ 64 #ifndef U_STD_NSQ 65 # if U_HAVE_NAMESPACE 66 # define U_STD_NS std 67 # define U_STD_NSQ U_STD_NS:: 68 # define U_STD_NS_USE using namespace U_STD_NS; 69 # else 70 # define U_STD_NS 71 # define U_STD_NSQ 72 # define U_STD_NS_USE 73 # endif 74 #endif 75 76 #endif // U_HAVE_STD_STRING 77 78 #endif // __STD_STRING_H__ 79