Movatterモバイル変換


[0]ホーム

URL:


ICU 78.1  78.1
Data Structures |Namespaces |Macros
localpointer.h File Reference

C++ API: "Smart pointers" for use with and in ICU4C C++ code.More...

#include "unicode/utypes.h"
#include <memory>

Go to the source code of this file.

Data Structures

class  icu::LocalPointerBase< T >
 "Smart pointer" base class; do not use directly: useLocalPointer etc.More...
 
class  icu::LocalPointer< T >
 "Smart pointer" class, deletes objects via the standard C++ delete operator.More...
 
class  icu::LocalArray< T >
 "Smart pointer" class, deletes objects via the C++ array delete[] operator.More...
 

Namespaces

 icu
 Filecoll.h.
 

Macros

#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)    using LocalPointerClassName = internal::LocalOpenPointer<Type, closeFunction>
 "Smart pointer" definition macro, deletes objects via the closeFunction.More...
 

Detailed Description

C++ API: "Smart pointers" for use with and in ICU4C C++ code.

These classes are inspired by

but none of those provide for all of the goals for ICU smart pointers:

For details seehttps://icu.unicode.org/design/cpp/scoped_ptr

Definition in filelocalpointer.h.

Macro Definition Documentation

◆ U_DEFINE_LOCAL_OPEN_POINTER

#define U_DEFINE_LOCAL_OPEN_POINTER( LocalPointerClassName,
 Type,
 closeFunction 
)    using LocalPointerClassName = internal::LocalOpenPointer<Type, closeFunction>

"Smart pointer" definition macro, deletes objects via the closeFunction.

Defines a subclass of LocalPointerBase which works just like LocalPointer<Type> except that this subclass will use the closeFunction rather than the C++ delete operator.

Usage example:

LocalUCaseMapPointer csm(ucasemap_open(localeID, options, &errorCode));
utf8OutLength=ucasemap_utf8ToLower(csm.getAlias(),
utf8Out, (int32_t)sizeof(utf8Out),
utf8In, utf8InLength, &errorCode);
if(U_FAILURE(errorCode)) {return; }// no need to explicitly delete the UCaseMap
"Smart pointer" class, closes a UCaseMap via ucasemap_close().
U_CAPI int32_t ucasemap_utf8ToLower(const UCaseMap *csm, char *dest, int32_t destCapacity, const char *src, int32_t srcLength, UErrorCode *pErrorCode)
Lowercase the characters in a UTF-8 string.
U_CAPI UCaseMap * ucasemap_open(const char *locale, uint32_t options, UErrorCode *pErrorCode)
Open a UCaseMap service object for a locale and a set of options.
#define U_FAILURE(x)
Does the error code indicate a failure?
Definition:utypes.h:827
See also
LocalPointerBase
LocalPointer
Stable:
ICU 4.4

Definition at line548 of filelocalpointer.h.


Generated by doxygen 1.9.1
[8]ページ先頭

©2009-2025 Movatter.jp