ICU 56.1: uformattable.h Source File

ICU 56.1 56.1

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- File List
- Globals

uformattable.h
Go to the documentation of this file.
1 /*
2 ********************************************************************************
3 * Copyright (C) 2013-2014, International Business Machines Corporation and others.
4 * All Rights Reserved.
5 ********************************************************************************
6 *
7 * File UFORMATTABLE.H
8 *
9 * Modification History:
10 *
11 * Date Name Description
12 * 2013 Jun 7 srl New
13 ********************************************************************************
14 */
15
28 #ifndef UFORMATTABLE_H
29 #define UFORMATTABLE_H
30
31 #include "unicode/utypes.h"
32
33 #if !UCONFIG_NO_FORMATTING
34
35 #include "unicode/localpointer.h"
36
44 typedef enum UFormattableType {
45 UFMT_DATE = 0,
46 UFMT_DOUBLE,
47 UFMT_LONG,
48 UFMT_STRING,
49 UFMT_ARRAY,
50 UFMT_INT64,
51 UFMT_OBJECT,
52 UFMT_COUNT
53 } UFormattableType;
54
55
62 typedef void *UFormattable;
63
74 U_STABLE UFormattable* U_EXPORT2
75 ufmt_open(UErrorCode* status);
76
83 U_STABLE void U_EXPORT2
84 ufmt_close(UFormattable* fmt);
85
86 #if U_SHOW_CPLUSPLUS_API
87
88 U_NAMESPACE_BEGIN
89
99 U_DEFINE_LOCAL_OPEN_POINTER(LocalUFormattablePointer, UFormattable, ufmt_close);
100
101 U_NAMESPACE_END
102
103 #endif
104
115 U_STABLE UFormattableType U_EXPORT2
116 ufmt_getType(const UFormattable* fmt, UErrorCode *status);
117
126 U_STABLE UBool U_EXPORT2
127 ufmt_isNumeric(const UFormattable* fmt);
128
139 U_STABLE UDate U_EXPORT2
140 ufmt_getDate(const UFormattable* fmt, UErrorCode *status);
141
157 U_STABLE double U_EXPORT2
158 ufmt_getDouble(UFormattable* fmt, UErrorCode *status);
159
178 U_STABLE int32_t U_EXPORT2
179 ufmt_getLong(UFormattable* fmt, UErrorCode *status);
180
181
199 U_STABLE int64_t U_EXPORT2
200 ufmt_getInt64(UFormattable* fmt, UErrorCode *status);
201
212 U_STABLE const void *U_EXPORT2
213 ufmt_getObject(const UFormattable* fmt, UErrorCode *status);
214
227 U_STABLE const UChar* U_EXPORT2
228 ufmt_getUChars(UFormattable* fmt, int32_t *len, UErrorCode *status);
229
238 U_STABLE int32_t U_EXPORT2
239 ufmt_getArrayLength(const UFormattable* fmt, UErrorCode *status);
240
250 U_STABLE UFormattable * U_EXPORT2
251 ufmt_getArrayItemByIndex(UFormattable* fmt, int32_t n, UErrorCode *status);
252
275 U_STABLE const char * U_EXPORT2
276 ufmt_getDecNumChars(UFormattable *fmt, int32_t *len, UErrorCode *status);
277
278 #endif
279
280 #endif
ufmt_open
UFormattable * ufmt_open(UErrorCode *status)
Initialize a UFormattable, to type UNUM_LONG, value 0 may return error if memory allocation failed...
ufmt_getDouble
double ufmt_getDouble(UFormattable *fmt, UErrorCode *status)
Gets the double value of this object.
ufmt_getUChars
const UChar * ufmt_getUChars(UFormattable *fmt, int32_t *len, UErrorCode *status)
Gets the string value of this object as a UChar string.
UDate
double UDate
Date and Time data type.
Definition: utypes.h:201
ufmt_getDate
UDate ufmt_getDate(const UFormattable *fmt, UErrorCode *status)
Gets the UDate value of this object.
UFMT_COUNT
Count of defined UFormattableType values.
Definition: uformattable.h:52
ufmt_getArrayLength
int32_t ufmt_getArrayLength(const UFormattable *fmt, UErrorCode *status)
Get the number of array objects contained, if an array type UFMT_ARRAY.
ufmt_getType
UFormattableType ufmt_getType(const UFormattable *fmt, UErrorCode *status)
Return the type of this object.
UFMT_DATE
ufmt_getDate() will return without conversion.
Definition: uformattable.h:45
ufmt_getLong
int32_t ufmt_getLong(UFormattable *fmt, UErrorCode *status)
Gets the long (int32_t) value of this object.
UFMT_ARRAY
ufmt_countArray() and ufmt_getArray() will return the value.
Definition: uformattable.h:49
UFormattableType
UFormattableType
Enum designating the type of a UFormattable instance.
Definition: uformattable.h:44
U_NAMESPACE_BEGIN
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Definition: uversion.h:129
ufmt_close
void ufmt_close(UFormattable *fmt)
Cleanup any additional memory allocated by this UFormattable.
U_DEFINE_LOCAL_OPEN_POINTER
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
Definition: localpointer.h:535
localpointer.h
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
UFMT_INT64
ufmt_getInt64() will return without conversion.
Definition: uformattable.h:50
UFMT_OBJECT
ufmt_getObject() will return without conversion.
Definition: uformattable.h:51
ufmt_isNumeric
UBool ufmt_isNumeric(const UFormattable *fmt)
Return whether the object is numeric.
ufmt_getInt64
int64_t ufmt_getInt64(UFormattable *fmt, UErrorCode *status)
Gets the int64_t value of this object.
ufmt_getArrayItemByIndex
UFormattable * ufmt_getArrayItemByIndex(UFormattable *fmt, int32_t n, UErrorCode *status)
Get the specified value from the array of UFormattables.
UFMT_LONG
ufmt_getLong() will return without conversion.
Definition: uformattable.h:47
UChar
uint16_t UChar
Define UChar to be UCHAR_TYPE, if that is #defined (for example, to char16_t), or wchar_t if that is ...
Definition: umachine.h:312
U_NAMESPACE_END
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
Definition: uversion.h:130
LocalUFormattablePointer
"Smart pointer" class, closes a UFormattable via ufmt_close().
UErrorCode
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
Definition: utypes.h:476
UFMT_STRING
ufmt_getUChars() will return without conversion.
Definition: uformattable.h:48
utypes.h
Basic definitions for ICU, for both C and C++ APIs.
ufmt_getObject
const void * ufmt_getObject(const UFormattable *fmt, UErrorCode *status)
Returns a pointer to the UObject contained within this formattable (as a const void*), or NULL if this object is not of type UFMT_OBJECT.
UFormattable
void * UFormattable
Opaque type representing various types of data which may be used for formatting and parsing operation...
Definition: uformattable.h:62
UFMT_DOUBLE
ufmt_getDouble() will return without conversion.
Definition: uformattable.h:46
ufmt_getDecNumChars
const char * ufmt_getDecNumChars(UFormattable *fmt, int32_t *len, UErrorCode *status)
Returns a numeric string representation of the number contained within this formattable, or NULL if this object does not contain numeric type.
U_STABLE
#define U_STABLE
This is used to declare a function as a stable public ICU C API.
Definition: umachine.h:109
UBool
int8_t UBool
The ICU boolean type.
Definition: umachine.h:234