ICU 57.1 57.1
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
36
54
55
62typedef void *UFormattable;
63
76
85
86#if U_SHOW_CPLUSPLUS_API
87
89
100
102
103#endif
104
117
128
141
157U_STABLE double U_EXPORT2
159
178U_STABLE int32_t U_EXPORT2
180
181
201
212U_STABLE const void *U_EXPORT2
214
229
238U_STABLE int32_t U_EXPORT2
240
252
275U_STABLE const char * U_EXPORT2
277
278#endif
279
280#endif
"Smart pointer" base class; do not use directly: use LocalPointer etc.
"Smart pointer" class, closes a UFormattable via ufmt_close().
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
double ufmt_getDouble(UFormattable *fmt, UErrorCode *status)
Gets the double value of this object.
UBool ufmt_isNumeric(const UFormattable *fmt)
Return whether the object is numeric.
UFormattable * ufmt_open(UErrorCode *status)
Initialize a UFormattable, to type UNUM_LONG, value 0 may return error if memory allocation failed.
const void * ufmt_getObject(const UFormattable *fmt, UErrorCode *status)
Returns a pointer to the UObject contained within this formattable (as a const void*),...
UFormattableType ufmt_getType(const UFormattable *fmt, UErrorCode *status)
Return the type of this object.
const char * ufmt_getDecNumChars(UFormattable *fmt, int32_t *len, UErrorCode *status)
Returns a numeric string representation of the number contained within this formattable,...
UFormattable * ufmt_getArrayItemByIndex(UFormattable *fmt, int32_t n, UErrorCode *status)
Get the specified value from the array of UFormattables.
const UChar * ufmt_getUChars(UFormattable *fmt, int32_t *len, UErrorCode *status)
Gets the string value of this object as a UChar string.
UFormattableType
Enum designating the type of a UFormattable instance.
@ UFMT_STRING
ufmt_getUChars() will return without conversion.
@ UFMT_LONG
ufmt_getLong() will return without conversion.
@ UFMT_ARRAY
ufmt_countArray() and ufmt_getArray() will return the value.
@ UFMT_OBJECT
ufmt_getObject() will return without conversion.
@ UFMT_DOUBLE
ufmt_getDouble() will return without conversion.
@ UFMT_DATE
ufmt_getDate() will return without conversion.
@ UFMT_COUNT
Count of defined UFormattableType values.
@ UFMT_INT64
ufmt_getInt64() will return without conversion.
void * UFormattable
Opaque type representing various types of data which may be used for formatting and parsing operation...
int64_t ufmt_getInt64(UFormattable *fmt, UErrorCode *status)
Gets the int64_t value of this object.
int32_t ufmt_getArrayLength(const UFormattable *fmt, UErrorCode *status)
Get the number of array objects contained, if an array type UFMT_ARRAY.
void ufmt_close(UFormattable *fmt)
Cleanup any additional memory allocated by this UFormattable.
int32_t ufmt_getLong(UFormattable *fmt, UErrorCode *status)
Gets the long (int32_t) value of this object.
UDate ufmt_getDate(const UFormattable *fmt, UErrorCode *status)
Gets the UDate value of this object.
int8_t UBool
The ICU boolean type.
Definition umachine.h:234
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
#define U_STABLE
This is used to declare a function as a stable public ICU C API.
Definition umachine.h:109
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers,...
Definition utypes.h:476
double UDate
Date and Time data type.
Definition utypes.h:201
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
Definition uversion.h:130
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Definition uversion.h:129