ICU 64.2  64.2
uformattedvalue.h
Go to the documentation of this file.
1 // © 2018 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 
4 #ifndef __UFORMATTEDVALUE_H__
5 #define __UFORMATTEDVALUE_H__
6 
7 #include "unicode/utypes.h"
8 
9 #if !UCONFIG_NO_FORMATTING
10 #ifndef U_HIDE_DRAFT_API
11 
12 #include "unicode/ufieldpositer.h"
13 
35 typedef enum UFieldCategory {
42 
49 
56 
63 
70 
77 
78 #ifndef U_HIDE_INTERNAL_API
79 
81 #endif /* U_HIDE_INTERNAL_API */
82 
89 
96 
98 
99 
113 
114 
126 
127 
137 U_DRAFT void U_EXPORT2
140  UErrorCode* ec);
141 
142 
149 U_DRAFT void U_EXPORT2
151 
152 
178 U_DRAFT void U_EXPORT2
181  int32_t category,
182  UErrorCode* ec);
183 
184 
211 U_DRAFT void U_EXPORT2
214  int32_t category,
215  int32_t field,
216  UErrorCode* ec);
217 
218 
231 U_DRAFT int32_t U_EXPORT2
233  const UConstrainedFieldPosition* ucfpos,
234  UErrorCode* ec);
235 
236 
249 U_DRAFT int32_t U_EXPORT2
251  const UConstrainedFieldPosition* ucfpos,
252  UErrorCode* ec);
253 
254 
266 U_DRAFT void U_EXPORT2
268  const UConstrainedFieldPosition* ucfpos,
269  int32_t* pStart,
270  int32_t* pLimit,
271  UErrorCode* ec);
272 
273 
286 U_DRAFT int64_t U_EXPORT2
288  const UConstrainedFieldPosition* ucfpos,
289  UErrorCode* ec);
290 
291 
302 U_DRAFT void U_EXPORT2
305  int64_t context,
306  UErrorCode* ec);
307 
308 
321 U_DRAFT UBool U_EXPORT2
323  const UConstrainedFieldPosition* ucfpos,
324  int32_t category,
325  int32_t field,
326  UErrorCode* ec);
327 
328 
345 U_DRAFT void U_EXPORT2
348  int32_t category,
349  int32_t field,
350  int32_t start,
351  int32_t limit,
352  UErrorCode* ec);
353 
354 
355 struct UFormattedValue;
363 
364 
378 U_DRAFT const UChar* U_EXPORT2
380  const UFormattedValue* ufmtval,
381  int32_t* pLength,
382  UErrorCode* ec);
383 
384 
408 U_DRAFT UBool U_EXPORT2
410  const UFormattedValue* ufmtval,
412  UErrorCode* ec);
413 
414 
415 #if U_SHOW_CPLUSPLUS_API
417 
432  ucfpos_close);
433 
435 #endif // U_SHOW_CPLUSPLUS_API
436 
437 
438 #endif /* U_HIDE_DRAFT_API */
439 #endif /* #if !UCONFIG_NO_FORMATTING */
440 #endif // __UFORMATTEDVALUE_H__
"Smart pointer" class; closes a UConstrainedFieldPosition via ucfpos_close().
void ucfpos_setInt64IterationContext(UConstrainedFieldPosition *ucfpos, int64_t context, UErrorCode *ec)
Sets an int64 that FormattedValue implementations may use for storage.
For fields in UDateFormatField (udat.h), from ICU 3.0.
Category for spans in a date interval.
UBool ufmtval_nextPosition(const UFormattedValue *ufmtval, UConstrainedFieldPosition *ucfpos, UErrorCode *ec)
Iterates over field positions in the UFormattedValue.
For fields in UListFormatterField (ulistformatter.h), from ICU 63.
int32_t ucfpos_getField(const UConstrainedFieldPosition *ucfpos, UErrorCode *ec)
Gets the field for the current position.
For an undefined field category.
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Definition: uversion.h:137
int32_t ucfpos_getCategory(const UConstrainedFieldPosition *ucfpos, UErrorCode *ec)
Gets the field category for the current position.
UFieldCategory
All possible field categories in ICU.
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
Definition: localpointer.h:562
void ucfpos_close(UConstrainedFieldPosition *ucfpos)
Destroys a UConstrainedFieldPosition and releases its memory.
void ucfpos_reset(UConstrainedFieldPosition *ucfpos, UErrorCode *ec)
Resets a UConstrainedFieldPosition to its initial state, as if it were newly created.
Category for spans in a list.
uint16_t UChar
The base type for UTF-16 code units and pointers.
Definition: umachine.h:342
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
Definition: uversion.h:138
void ucfpos_constrainCategory(UConstrainedFieldPosition *ucfpos, int32_t category, UErrorCode *ec)
Sets a constraint on the field category.
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
Definition: utypes.h:401
void ucfpos_constrainField(UConstrainedFieldPosition *ucfpos, int32_t category, int32_t field, UErrorCode *ec)
Sets a constraint on the category and field.
C API: UFieldPositionIterator for use with format APIs.
UBool ucfpos_matchesField(const UConstrainedFieldPosition *ucfpos, int32_t category, int32_t field, UErrorCode *ec)
Determines whether a given field should be included given the constraints.
Basic definitions for ICU, for both C and C++ APIs.
void ucfpos_getIndexes(const UConstrainedFieldPosition *ucfpos, int32_t *pStart, int32_t *pLimit, UErrorCode *ec)
Gets the INCLUSIVE start and EXCLUSIVE end index stored for the current position. ...
void ucfpos_setState(UConstrainedFieldPosition *ucfpos, int32_t category, int32_t field, int32_t start, int32_t limit, UErrorCode *ec)
Sets new values for the primary public getters.
UConstrainedFieldPosition * ucfpos_open(UErrorCode *ec)
Creates a new UConstrainedFieldPosition.
struct UConstrainedFieldPosition UConstrainedFieldPosition
Represents a span of a string containing a given field.
struct UFormattedValue UFormattedValue
An abstract formatted value: a string with associated field attributes.
const UChar * ufmtval_getString(const UFormattedValue *ufmtval, int32_t *pLength, UErrorCode *ec)
Returns a pointer to the formatted string.
#define U_DRAFT
This is used to declare a function as a draft public ICU C API.
Definition: umachine.h:113
int64_t ucfpos_getInt64IterationContext(const UConstrainedFieldPosition *ucfpos, UErrorCode *ec)
Gets an int64 that FormattedValue implementations may use for storage.
For fields in UNumberFormatFields (unum.h), from ICU 49.
For fields in URelativeDateTimeFormatterField (ureldatefmt.h), from ICU 64.
int8_t UBool
The ICU boolean type.
Definition: umachine.h:225
Reserved for possible future fields in UDateIntervalFormatField.