ICU 59.1  59.1
unumsys.h
Go to the documentation of this file.
1 // © 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /*
4 *****************************************************************************************
5 * Copyright (C) 2013-2014, International Business Machines
6 * Corporation and others. All Rights Reserved.
7 *****************************************************************************************
8 */
9 
10 #ifndef UNUMSYS_H
11 #define UNUMSYS_H
12 
13 #include "unicode/utypes.h"
14 
15 #if !UCONFIG_NO_FORMATTING
16 
17 #include "unicode/uenum.h"
18 #include "unicode/localpointer.h"
19 
43 struct UNumberingSystem;
57 U_STABLE UNumberingSystem * U_EXPORT2
58 unumsys_open(const char *locale, UErrorCode *status);
59 
78 U_STABLE UNumberingSystem * U_EXPORT2
79 unumsys_openByName(const char *name, UErrorCode *status);
80 
86 U_STABLE void U_EXPORT2
88 
89 #if U_SHOW_CPLUSPLUS_API
91 
101 
103 #endif
104 
113 U_STABLE UEnumeration * U_EXPORT2
115 
125 U_STABLE const char * U_EXPORT2
126 unumsys_getName(const UNumberingSystem *unumsys);
127 
136 U_STABLE UBool U_EXPORT2
138 
147 U_STABLE int32_t U_EXPORT2
148 unumsys_getRadix(const UNumberingSystem *unumsys);
149 
166 U_STABLE int32_t U_EXPORT2
167 unumsys_getDescription(const UNumberingSystem *unumsys, UChar *result,
168  int32_t resultLength, UErrorCode *status);
169 
170 #endif /* #if !UCONFIG_NO_FORMATTING */
171 
172 #endif
const char * unumsys_getName(const UNumberingSystem *unumsys)
Returns the name of the specified UNumberingSystem object (if it is one of the predefined names known...
UNumberingSystem * unumsys_open(const char *locale, UErrorCode *status)
Opens a UNumberingSystem object using the default numbering system for the specified locale...
struct UEnumeration UEnumeration
structure representing an enumeration object instance
Definition: uenum.h:43
int32_t unumsys_getDescription(const UNumberingSystem *unumsys, UChar *result, int32_t resultLength, UErrorCode *status)
Get the description string of the specified UNumberingSystem object.
UBool unumsys_isAlgorithmic(const UNumberingSystem *unumsys)
Returns whether the given UNumberingSystem object is for an algorithmic (not purely positional) syste...
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Definition: uversion.h:131
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
Definition: localpointer.h:496
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
UEnumeration * unumsys_openAvailableNames(UErrorCode *status)
Returns an enumeration over the names of all of the predefined numbering systems known to ICU...
uint16_t UChar
The base type for UTF-16 code units and pointers.
Definition: umachine.h:349
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
Definition: uversion.h:132
"Smart pointer" class, closes a UNumberingSystem via unumsys_close().
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
Definition: utypes.h:396
void unumsys_close(UNumberingSystem *unumsys)
Close a UNumberingSystem object.
C API: String Enumeration.
UNumberingSystem * unumsys_openByName(const char *name, UErrorCode *status)
Opens a UNumberingSystem object using the name of one of the predefined numbering systems specified b...
Basic definitions for ICU, for both C and C++ APIs.
struct UNumberingSystem UNumberingSystem
C typedef for struct UNumberingSystem.
Definition: unumsys.h:44
int32_t unumsys_getRadix(const UNumberingSystem *unumsys)
Returns the radix of the specified UNumberingSystem object.
#define U_STABLE
This is used to declare a function as a stable public ICU C API.
Definition: umachine.h:111
int8_t UBool
The ICU boolean type.
Definition: umachine.h:236