PostgreSQL Source Code git master
unicode_case.h
Go to the documentation of this file.
1/*-------------------------------------------------------------------------
2 *
3 * unicode_case.h
4 * Routines for converting character case.
5 *
6 * These definitions can be used by both frontend and backend code.
7 *
8 * Copyright (c) 2017-2025, PostgreSQL Global Development Group
9 *
10 * src/include/common/unicode_case.h
11 *
12 *-------------------------------------------------------------------------
13 */
14#ifndef UNICODE_CASE_H
15#define UNICODE_CASE_H
16
17typedef size_t (*WordBoundaryNext) (void *wbstate);
18
19char32_t unicode_lowercase_simple(char32_t code);
20char32_t unicode_titlecase_simple(char32_t code);
21char32_t unicode_uppercase_simple(char32_t code);
22char32_t unicode_casefold_simple(char32_t code);
23size_t unicode_strlower(char *dst, size_t dstsize, const char *src,
24 ssize_t srclen, bool full);
25size_t unicode_strtitle(char *dst, size_t dstsize, const char *src,
26 ssize_t srclen, bool full,
27 WordBoundaryNext wbnext, void *wbstate);
28size_t unicode_strupper(char *dst, size_t dstsize, const char *src,
29 ssize_t srclen, bool full);
30size_t unicode_strfold(char *dst, size_t dstsize, const char *src,
31 ssize_t srclen, bool full);
32
33#endif /* UNICODE_CASE_H */
char32_t unicode_titlecase_simple(char32_t code)
Definition: unicode_case.c:58
size_t unicode_strupper(char *dst, size_t dstsize, const char *src, ssize_t srclen, bool full)
Definition: unicode_case.c:165
size_t(* WordBoundaryNext)(void *wbstate)
Definition: unicode_case.h:17
size_t unicode_strlower(char *dst, size_t dstsize, const char *src, ssize_t srclen, bool full)
Definition: unicode_case.c:101
char32_t unicode_casefold_simple(char32_t code)
Definition: unicode_case.c:74
char32_t unicode_lowercase_simple(char32_t code)
Definition: unicode_case.c:50
size_t unicode_strtitle(char *dst, size_t dstsize, const char *src, ssize_t srclen, bool full, WordBoundaryNext wbnext, void *wbstate)
Definition: unicode_case.c:138
size_t unicode_strfold(char *dst, size_t dstsize, const char *src, ssize_t srclen, bool full)
Definition: unicode_case.c:189
char32_t unicode_uppercase_simple(char32_t code)
Definition: unicode_case.c:66