OpenJDK / openjfx / jfx-dev / rt
view modules/javafx.web/src/main/native/Source/ThirdParty/icu/source/common/cstr.h @ 11038:20a8447c71c6
8207159: Update ICU to version 62.1
Reviewed-by: mbilla, kcr, ghb
author | arajkumar |
---|---|
date | Fri, 24 Aug 2018 15:06:40 +0530 |
parents | |
children |
line wrap: on
line source
// © 2016 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html /* ****************************************************************************** * * Copyright (C) 2016, International Business Machines * Corporation and others. All Rights Reserved. * ****************************************************************************** * * File: cstr.h */ #ifndef CSTR_H #define CSTR_H #include "unicode/unistr.h" #include "unicode/uobject.h" #include "unicode/utypes.h" #include "charstr.h" /** * ICU-internal class CStr, a small helper class to facilitate passing UnicodeStrings * to functions needing (const char *) strings, such as printf(). * * It is intended primarily for use in debugging or in tests. Uses platform * default code page conversion, which will do the best job possible, * but may be lossy, depending on the platform. * * If no other conversion is available, use invariant conversion and substitue * '?' for non-invariant characters. * * Example Usage: * UnicodeString s = whatever; * printf("%s", CStr(s)()); * * The explicit call to the CStr() constructor creates a temporary object. * Operator () on the temporary object returns a (const char *) pointer. * The lifetime of the (const char *) data is that of the temporary object, * which works well when passing it as a parameter to another function, such as printf. */ U_NAMESPACE_BEGIN class U_COMMON_API CStr : public UMemory { public: CStr(const UnicodeString &in); ~CStr(); const char * operator ()() const; private: CharString s; CStr(const CStr &other); // Forbid copying of this class. CStr &operator =(const CStr &other); // Forbid assignment. }; U_NAMESPACE_END #endif