summaryrefslogtreecommitdiff
path: root/deps/icu-small/source/common/cstr.h
diff options
context:
space:
mode:
authorSteven R. Loomis <srloomis@us.ibm.com>2016-04-08 19:03:16 -0700
committerSteven R. Loomis <srloomis@us.ibm.com>2016-05-04 16:02:45 -0700
commit2bbd1cd6004b3e1467e30d860385a85dad01fe24 (patch)
treeb812046e89e46e0de09bc858e0b128787cbc0632 /deps/icu-small/source/common/cstr.h
parentcd752e8463fad7c4805951d9ba47cd2f39691f2d (diff)
downloadandroid-node-v8-2bbd1cd6004b3e1467e30d860385a85dad01fe24.tar.gz
android-node-v8-2bbd1cd6004b3e1467e30d860385a85dad01fe24.tar.bz2
android-node-v8-2bbd1cd6004b3e1467e30d860385a85dad01fe24.zip
deps: Intl: Check in "small-icu" 57.1
* this commit has "small" ICU 57.1. See other related commit for tools to generate this commit. Fixes: https://github.com/nodejs/node/issues/3476 PR-URL: https://github.com/nodejs/node/pull/6088 Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'deps/icu-small/source/common/cstr.h')
-rw-r--r--deps/icu-small/source/common/cstr.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/deps/icu-small/source/common/cstr.h b/deps/icu-small/source/common/cstr.h
new file mode 100644
index 0000000000..f17d8a6ab7
--- /dev/null
+++ b/deps/icu-small/source/common/cstr.h
@@ -0,0 +1,55 @@
+/*
+******************************************************************************
+*
+* Copyright (C) 2015, 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 UnicodStrings
+ * 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.
+ *
+ * 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