aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/icu/common/capi_helper.h
diff options
context:
space:
mode:
authormcheshkov <mcheshkov@yandex-team.ru>2022-02-10 16:46:15 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:46:15 +0300
commite9d19cec64684c9c1e6b0c98297e5b895cf904fe (patch)
tree2768b1223e96a8a0610a93d18425d9647c1123c8 /contrib/libs/icu/common/capi_helper.h
parent60040c91ffe701a84689b2c6310ff845e65cff42 (diff)
downloadydb-e9d19cec64684c9c1e6b0c98297e5b895cf904fe.tar.gz
Restoring authorship annotation for <mcheshkov@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/libs/icu/common/capi_helper.h')
-rw-r--r--contrib/libs/icu/common/capi_helper.h194
1 files changed, 97 insertions, 97 deletions
diff --git a/contrib/libs/icu/common/capi_helper.h b/contrib/libs/icu/common/capi_helper.h
index 54b1db9e33..85c0d28d3f 100644
--- a/contrib/libs/icu/common/capi_helper.h
+++ b/contrib/libs/icu/common/capi_helper.h
@@ -1,97 +1,97 @@
-// © 2018 and later: Unicode, Inc. and others.
-// License & terms of use: http://www.unicode.org/copyright.html
-
-#ifndef __CAPI_HELPER_H__
-#define __CAPI_HELPER_H__
-
-#include "unicode/utypes.h"
-
-U_NAMESPACE_BEGIN
-
-/**
- * An internal helper class to help convert between C and C++ APIs.
- */
-template<typename CType, typename CPPType, int32_t kMagic>
-class IcuCApiHelper {
- public:
- /**
- * Convert from the C type to the C++ type (const version).
- */
- static const CPPType* validate(const CType* input, UErrorCode& status);
-
- /**
- * Convert from the C type to the C++ type (non-const version).
- */
- static CPPType* validate(CType* input, UErrorCode& status);
-
- /**
- * Convert from the C++ type to the C type (const version).
- */
- const CType* exportConstForC() const;
-
- /**
- * Convert from the C++ type to the C type (non-const version).
- */
- CType* exportForC();
-
- /**
- * Invalidates the object.
- */
- ~IcuCApiHelper();
-
- private:
- /**
- * While the object is valid, fMagic equals kMagic.
- */
- int32_t fMagic = kMagic;
-};
-
-
-template<typename CType, typename CPPType, int32_t kMagic>
-const CPPType*
-IcuCApiHelper<CType, CPPType, kMagic>::validate(const CType* input, UErrorCode& status) {
- if (U_FAILURE(status)) {
- return nullptr;
- }
- if (input == nullptr) {
- status = U_ILLEGAL_ARGUMENT_ERROR;
- return nullptr;
- }
- auto* impl = reinterpret_cast<const CPPType*>(input);
- if (static_cast<const IcuCApiHelper<CType, CPPType, kMagic>*>(impl)->fMagic != kMagic) {
- status = U_INVALID_FORMAT_ERROR;
- return nullptr;
- }
- return impl;
-}
-
-template<typename CType, typename CPPType, int32_t kMagic>
-CPPType*
-IcuCApiHelper<CType, CPPType, kMagic>::validate(CType* input, UErrorCode& status) {
- auto* constInput = static_cast<const CType*>(input);
- auto* validated = validate(constInput, status);
- return const_cast<CPPType*>(validated);
-}
-
-template<typename CType, typename CPPType, int32_t kMagic>
-const CType*
-IcuCApiHelper<CType, CPPType, kMagic>::exportConstForC() const {
- return reinterpret_cast<const CType*>(static_cast<const CPPType*>(this));
-}
-
-template<typename CType, typename CPPType, int32_t kMagic>
-CType*
-IcuCApiHelper<CType, CPPType, kMagic>::exportForC() {
- return reinterpret_cast<CType*>(static_cast<CPPType*>(this));
-}
-
-template<typename CType, typename CPPType, int32_t kMagic>
-IcuCApiHelper<CType, CPPType, kMagic>::~IcuCApiHelper() {
- // head off application errors by preventing use of of deleted objects.
- fMagic = 0;
-}
-
-
-U_NAMESPACE_END
-
-#endif // __CAPI_HELPER_H__
+// © 2018 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+
+#ifndef __CAPI_HELPER_H__
+#define __CAPI_HELPER_H__
+
+#include "unicode/utypes.h"
+
+U_NAMESPACE_BEGIN
+
+/**
+ * An internal helper class to help convert between C and C++ APIs.
+ */
+template<typename CType, typename CPPType, int32_t kMagic>
+class IcuCApiHelper {
+ public:
+ /**
+ * Convert from the C type to the C++ type (const version).
+ */
+ static const CPPType* validate(const CType* input, UErrorCode& status);
+
+ /**
+ * Convert from the C type to the C++ type (non-const version).
+ */
+ static CPPType* validate(CType* input, UErrorCode& status);
+
+ /**
+ * Convert from the C++ type to the C type (const version).
+ */
+ const CType* exportConstForC() const;
+
+ /**
+ * Convert from the C++ type to the C type (non-const version).
+ */
+ CType* exportForC();
+
+ /**
+ * Invalidates the object.
+ */
+ ~IcuCApiHelper();
+
+ private:
+ /**
+ * While the object is valid, fMagic equals kMagic.
+ */
+ int32_t fMagic = kMagic;
+};
+
+
+template<typename CType, typename CPPType, int32_t kMagic>
+const CPPType*
+IcuCApiHelper<CType, CPPType, kMagic>::validate(const CType* input, UErrorCode& status) {
+ if (U_FAILURE(status)) {
+ return nullptr;
+ }
+ if (input == nullptr) {
+ status = U_ILLEGAL_ARGUMENT_ERROR;
+ return nullptr;
+ }
+ auto* impl = reinterpret_cast<const CPPType*>(input);
+ if (static_cast<const IcuCApiHelper<CType, CPPType, kMagic>*>(impl)->fMagic != kMagic) {
+ status = U_INVALID_FORMAT_ERROR;
+ return nullptr;
+ }
+ return impl;
+}
+
+template<typename CType, typename CPPType, int32_t kMagic>
+CPPType*
+IcuCApiHelper<CType, CPPType, kMagic>::validate(CType* input, UErrorCode& status) {
+ auto* constInput = static_cast<const CType*>(input);
+ auto* validated = validate(constInput, status);
+ return const_cast<CPPType*>(validated);
+}
+
+template<typename CType, typename CPPType, int32_t kMagic>
+const CType*
+IcuCApiHelper<CType, CPPType, kMagic>::exportConstForC() const {
+ return reinterpret_cast<const CType*>(static_cast<const CPPType*>(this));
+}
+
+template<typename CType, typename CPPType, int32_t kMagic>
+CType*
+IcuCApiHelper<CType, CPPType, kMagic>::exportForC() {
+ return reinterpret_cast<CType*>(static_cast<CPPType*>(this));
+}
+
+template<typename CType, typename CPPType, int32_t kMagic>
+IcuCApiHelper<CType, CPPType, kMagic>::~IcuCApiHelper() {
+ // head off application errors by preventing use of of deleted objects.
+ fMagic = 0;
+}
+
+
+U_NAMESPACE_END
+
+#endif // __CAPI_HELPER_H__