ICU 57.1  57.1
ureldatefmt.h
Go to the documentation of this file.
1 /*
2 *****************************************************************************************
3 * Copyright (C) 2016, International Business Machines
4 * Corporation and others. All Rights Reserved.
5 *****************************************************************************************
6 */
7 
8 #ifndef URELDATEFMT_H
9 #define URELDATEFMT_H
10 
11 #include "unicode/utypes.h"
12 
13 #if !UCONFIG_NO_FORMATTING && !UCONFIG_NO_BREAK_ITERATION
14 
15 #include "unicode/unum.h"
17 #include "unicode/localpointer.h"
18 
48 
54 
60 
67 
68 #ifndef U_HIDE_DRAFT_API
74 typedef enum URelativeDateTimeUnit {
171 #endif /* U_HIDE_DRAFT_API */
172 
173 #ifndef U_HIDE_DRAFT_API
174 
216 ureldatefmt_open( const char* locale,
217  UNumberFormat* nfToAdopt,
219  UDisplayContext capitalizationContext,
220  UErrorCode* status );
221 
228 U_DRAFT void U_EXPORT2
230 
231 #if U_SHOW_CPLUSPLUS_API
232 
234 
245 
247 
248 #endif
249 
278 U_DRAFT int32_t U_EXPORT2
280  double offset,
282  UChar* result,
283  int32_t resultCapacity,
284  UErrorCode* status);
285 
314 U_DRAFT int32_t U_EXPORT2
316  double offset,
318  UChar* result,
319  int32_t resultCapacity,
320  UErrorCode* status);
321 
351 U_DRAFT int32_t U_EXPORT2
353  const UChar * relativeDateString,
354  int32_t relativeDateStringLen,
355  const UChar * timeString,
356  int32_t timeStringLen,
357  UChar* result,
358  int32_t resultCapacity,
359  UErrorCode* status );
360 
361 #endif /* U_HIDE_DRAFT_API */
362 
363 #endif /* !UCONFIG_NO_FORMATTING && !UCONFIG_NO_BREAK_ITERATION */
364 
365 #endif
"Smart pointer" class, closes a URelativeDateTimeFormatter via ureldatefmt_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.
Definition: localpointer.h:539
C API: Display context types (enum values)
UDisplayContext
Display context settings.
#define U_DRAFT
This is used to declare a function as a draft public ICU C API
Definition: umachine.h:111
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
C API: NumberFormat.
void * UNumberFormat
A number formatter.
Definition: unum.h:134
UDateRelativeDateTimeFormatterStyle
The formatting style.
Definition: ureldatefmt.h:42
@ UDAT_STYLE_COUNT
The number of styles.
Definition: ureldatefmt.h:65
@ UDAT_STYLE_LONG
Everything spelled out.
Definition: ureldatefmt.h:47
@ UDAT_STYLE_NARROW
Use the shortest possible form.
Definition: ureldatefmt.h:59
@ UDAT_STYLE_SHORT
Abbreviations used when possible.
Definition: ureldatefmt.h:53
int32_t ureldatefmt_combineDateAndTime(const URelativeDateTimeFormatter *reldatefmt, const UChar *relativeDateString, int32_t relativeDateStringLen, const UChar *timeString, int32_t timeStringLen, UChar *result, int32_t resultCapacity, UErrorCode *status)
Combines a relative date string and a time string in this object's locale.
void ureldatefmt_close(URelativeDateTimeFormatter *reldatefmt)
Close a URelativeDateTimeFormatter object.
URelativeDateTimeUnit
Represents the unit for formatting a relative date.
Definition: ureldatefmt.h:74
@ UDAT_REL_UNIT_SATURDAY
Specifies that relative unit is Saturday, e.g.
Definition: ureldatefmt.h:164
@ UDAT_REL_UNIT_WEEK
Specifies that relative unit is week, e.g.
Definition: ureldatefmt.h:98
@ UDAT_REL_UNIT_SECOND
Specifies that relative unit is second, e.g.
Definition: ureldatefmt.h:122
@ UDAT_REL_UNIT_FRIDAY
Specifies that relative unit is Friday, e.g.
Definition: ureldatefmt.h:158
@ UDAT_REL_UNIT_DAY
Specifies that relative unit is day, e.g.
Definition: ureldatefmt.h:104
@ UDAT_REL_UNIT_COUNT
Count of URelativeDateTimeUnit values
Definition: ureldatefmt.h:169
@ UDAT_REL_UNIT_MONTH
Specifies that relative unit is month, e.g.
Definition: ureldatefmt.h:92
@ UDAT_REL_UNIT_SUNDAY
Specifies that relative unit is Sunday, e.g.
Definition: ureldatefmt.h:128
@ UDAT_REL_UNIT_WEDNESDAY
Specifies that relative unit is Wednesday, e.g.
Definition: ureldatefmt.h:146
@ UDAT_REL_UNIT_QUARTER
Specifies that relative unit is quarter, e.g.
Definition: ureldatefmt.h:86
@ UDAT_REL_UNIT_HOUR
Specifies that relative unit is hour, e.g.
Definition: ureldatefmt.h:110
@ UDAT_REL_UNIT_MINUTE
Specifies that relative unit is minute, e.g.
Definition: ureldatefmt.h:116
@ UDAT_REL_UNIT_TUESDAY
Specifies that relative unit is Tuesday, e.g.
Definition: ureldatefmt.h:140
@ UDAT_REL_UNIT_THURSDAY
Specifies that relative unit is Thursday, e.g.
Definition: ureldatefmt.h:152
@ UDAT_REL_UNIT_MONDAY
Specifies that relative unit is Monday, e.g.
Definition: ureldatefmt.h:134
@ UDAT_REL_UNIT_YEAR
Specifies that relative unit is year, e.g.
Definition: ureldatefmt.h:80
int32_t ureldatefmt_formatNumeric(const URelativeDateTimeFormatter *reldatefmt, double offset, URelativeDateTimeUnit unit, UChar *result, int32_t resultCapacity, UErrorCode *status)
Format a combination of URelativeDateTimeUnit and numeric offset using a numeric style,...
struct URelativeDateTimeFormatter URelativeDateTimeFormatter
C typedef for struct URelativeDateTimeFormatter.
Definition: ureldatefmt.h:180
URelativeDateTimeFormatter * ureldatefmt_open(const char *locale, UNumberFormat *nfToAdopt, UDateRelativeDateTimeFormatterStyle width, UDisplayContext capitalizationContext, UErrorCode *status)
Open a new URelativeDateTimeFormatter object for a given locale using the specified width and capital...
int32_t ureldatefmt_format(const URelativeDateTimeFormatter *reldatefmt, double offset, URelativeDateTimeUnit unit, UChar *result, int32_t resultCapacity, UErrorCode *status)
Format a combination of URelativeDateTimeUnit and numeric offset using a text style if possible,...
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
#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