aboutsummaryrefslogtreecommitdiff
path: root/src/include/common/unicode_case.h
blob: 35a465b57cb39505d87a645aff1f3a03295ba710 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/*-------------------------------------------------------------------------
 *
 * unicode_case.h
 *	  Routines for converting character case.
 *
 * These definitions can be used by both frontend and backend code.
 *
 * Copyright (c) 2017-2025, PostgreSQL Global Development Group
 *
 * src/include/common/unicode_case.h
 *
 *-------------------------------------------------------------------------
 */
#ifndef UNICODE_CASE_H
#define UNICODE_CASE_H

#include "mb/pg_wchar.h"

typedef size_t (*WordBoundaryNext) (void *wbstate);

pg_wchar	unicode_lowercase_simple(pg_wchar code);
pg_wchar	unicode_titlecase_simple(pg_wchar code);
pg_wchar	unicode_uppercase_simple(pg_wchar code);
size_t		unicode_strlower(char *dst, size_t dstsize, const char *src,
							 ssize_t srclen);
size_t		unicode_strtitle(char *dst, size_t dstsize, const char *src,
							 ssize_t srclen, WordBoundaryNext wbnext,
							 void *wbstate);
size_t		unicode_strupper(char *dst, size_t dstsize, const char *src,
							 ssize_t srclen);

#endif							/* UNICODE_CASE_H */