diff options
author | neksard <neksard@yandex-team.ru> | 2022-02-10 16:45:23 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:45:23 +0300 |
commit | 8f7cf138264e0caa318144bf8a2c950e0b0a8593 (patch) | |
tree | 83bf5c8c8047c42d8475e6095df90ccdc3d1b57f /contrib/libs/icu/io/uprintf.h | |
parent | d3a398281c6fd1d3672036cb2d63f842d2cb28c5 (diff) | |
download | ydb-8f7cf138264e0caa318144bf8a2c950e0b0a8593.tar.gz |
Restoring authorship annotation for <neksard@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/libs/icu/io/uprintf.h')
-rw-r--r-- | contrib/libs/icu/io/uprintf.h | 204 |
1 files changed, 102 insertions, 102 deletions
diff --git a/contrib/libs/icu/io/uprintf.h b/contrib/libs/icu/io/uprintf.h index 0fd6066e56..f24fcd5d09 100644 --- a/contrib/libs/icu/io/uprintf.h +++ b/contrib/libs/icu/io/uprintf.h @@ -1,103 +1,103 @@ // © 2016 and later: Unicode, Inc. and others. -// License & terms of use: http://www.unicode.org/copyright.html -/* -****************************************************************************** -* -* Copyright (C) 1998-2006, International Business Machines -* Corporation and others. All Rights Reserved. -* -****************************************************************************** -* -* File uprintf.h -* -* Modification History: -* -* Date Name Description -* 11/19/98 stephen Creation. -* 03/12/99 stephen Modified for new C API. -****************************************************************************** -*/ - -#ifndef UPRINTF_H -#define UPRINTF_H - -#include "unicode/utypes.h" - -#if !UCONFIG_NO_FORMATTING - -#include "unicode/ustdio.h" -#include "ufmt_cmn.h" -#include "locbund.h" - -/** - * Struct encapsulating a single uprintf format specification. - */ -typedef struct u_printf_spec_info { - int32_t fPrecision; /* Precision */ - int32_t fWidth; /* Width */ - - UChar fOrigSpec; /* Conversion specification */ - UChar fSpec; /* Conversion specification */ - UChar fPadChar; /* Padding character */ - - UBool fAlt; /* # flag */ - UBool fSpace; /* Space flag */ - UBool fLeft; /* - flag */ - UBool fShowSign; /* + flag */ - UBool fZero; /* 0 flag */ - - UBool fIsLongDouble; /* L flag */ - UBool fIsShort; /* h flag */ - UBool fIsLong; /* l flag */ - UBool fIsLongLong; /* ll flag */ -} u_printf_spec_info; - -typedef int32_t U_EXPORT2 -u_printf_write_stream(void *context, - const UChar *str, - int32_t count); - -typedef int32_t U_EXPORT2 -u_printf_pad_and_justify_stream(void *context, - const u_printf_spec_info *info, - const UChar *result, - int32_t resultLen); - -typedef struct u_printf_stream_handler { - u_printf_write_stream *write; - u_printf_pad_and_justify_stream *pad_and_justify; -} u_printf_stream_handler; - -/* Used by sprintf */ -typedef struct u_localized_print_string { - UChar *str; /* Place to write the string */ - int32_t available;/* Number of codeunits available to write to */ - int32_t len; /* Maximum number of code units that can be written to output */ - - ULocaleBundle fBundle; /* formatters */ -} u_localized_print_string; - -#define UP_PERCENT 0x0025 - -/** - * Parse a single u_printf format string. - * @param fmt A pointer to a '%' character in a u_printf format specification. - * @param spec A pointer to a <TT>u_printf_spec</TT> to receive the parsed - * format specifier. - * @param locStringContext If present, will make sure that it will only write - * to the buffer when space is available. It's done this way because - * va_list sometimes can't be passed by pointer. - * @return The number of characters contained in this specifier. - */ -U_CFUNC int32_t -u_printf_parse(const u_printf_stream_handler *streamHandler, - const UChar *fmt, - void *context, - u_localized_print_string *locStringContext, - ULocaleBundle *formatBundle, - int32_t *written, - va_list ap); - -#endif /* #if !UCONFIG_NO_FORMATTING */ - -#endif +// License & terms of use: http://www.unicode.org/copyright.html +/* +****************************************************************************** +* +* Copyright (C) 1998-2006, International Business Machines +* Corporation and others. All Rights Reserved. +* +****************************************************************************** +* +* File uprintf.h +* +* Modification History: +* +* Date Name Description +* 11/19/98 stephen Creation. +* 03/12/99 stephen Modified for new C API. +****************************************************************************** +*/ + +#ifndef UPRINTF_H +#define UPRINTF_H + +#include "unicode/utypes.h" + +#if !UCONFIG_NO_FORMATTING + +#include "unicode/ustdio.h" +#include "ufmt_cmn.h" +#include "locbund.h" + +/** + * Struct encapsulating a single uprintf format specification. + */ +typedef struct u_printf_spec_info { + int32_t fPrecision; /* Precision */ + int32_t fWidth; /* Width */ + + UChar fOrigSpec; /* Conversion specification */ + UChar fSpec; /* Conversion specification */ + UChar fPadChar; /* Padding character */ + + UBool fAlt; /* # flag */ + UBool fSpace; /* Space flag */ + UBool fLeft; /* - flag */ + UBool fShowSign; /* + flag */ + UBool fZero; /* 0 flag */ + + UBool fIsLongDouble; /* L flag */ + UBool fIsShort; /* h flag */ + UBool fIsLong; /* l flag */ + UBool fIsLongLong; /* ll flag */ +} u_printf_spec_info; + +typedef int32_t U_EXPORT2 +u_printf_write_stream(void *context, + const UChar *str, + int32_t count); + +typedef int32_t U_EXPORT2 +u_printf_pad_and_justify_stream(void *context, + const u_printf_spec_info *info, + const UChar *result, + int32_t resultLen); + +typedef struct u_printf_stream_handler { + u_printf_write_stream *write; + u_printf_pad_and_justify_stream *pad_and_justify; +} u_printf_stream_handler; + +/* Used by sprintf */ +typedef struct u_localized_print_string { + UChar *str; /* Place to write the string */ + int32_t available;/* Number of codeunits available to write to */ + int32_t len; /* Maximum number of code units that can be written to output */ + + ULocaleBundle fBundle; /* formatters */ +} u_localized_print_string; + +#define UP_PERCENT 0x0025 + +/** + * Parse a single u_printf format string. + * @param fmt A pointer to a '%' character in a u_printf format specification. + * @param spec A pointer to a <TT>u_printf_spec</TT> to receive the parsed + * format specifier. + * @param locStringContext If present, will make sure that it will only write + * to the buffer when space is available. It's done this way because + * va_list sometimes can't be passed by pointer. + * @return The number of characters contained in this specifier. + */ +U_CFUNC int32_t +u_printf_parse(const u_printf_stream_handler *streamHandler, + const UChar *fmt, + void *context, + u_localized_print_string *locStringContext, + ULocaleBundle *formatBundle, + int32_t *written, + va_list ap); + +#endif /* #if !UCONFIG_NO_FORMATTING */ + +#endif |