PostgreSQL Source Code  git master
unicode_case.h File Reference
#include "mb/pg_wchar.h"
Include dependency graph for unicode_case.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef size_t(* WordBoundaryNext) (void *wbstate)
 

Functions

pg_wchar unicode_lowercase_simple (pg_wchar ucs)
 
pg_wchar unicode_titlecase_simple (pg_wchar ucs)
 
pg_wchar unicode_uppercase_simple (pg_wchar ucs)
 
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)
 

Typedef Documentation

◆ WordBoundaryNext

typedef size_t(* WordBoundaryNext) (void *wbstate)

Definition at line 19 of file unicode_case.h.

Function Documentation

◆ unicode_lowercase_simple()

pg_wchar unicode_lowercase_simple ( pg_wchar  ucs)

Definition at line 29 of file unicode_case.c.

30 {
31  const pg_case_map *map = find_case_map(code);
32 
33  return map ? map->simplemap[CaseLower] : code;
34 }
pg_wchar simplemap[NCaseKind]
static const pg_case_map * find_case_map(pg_wchar ucs)
Definition: unicode_case.c:203
@ CaseLower

References CaseLower, find_case_map(), and pg_case_map::simplemap.

Referenced by pg_wc_tolower().

◆ unicode_strlower()

size_t unicode_strlower ( char *  dst,
size_t  dstsize,
const char *  src,
ssize_t  srclen 
)

Definition at line 69 of file unicode_case.c.

70 {
71  return convert_case(dst, dstsize, src, srclen, CaseLower, NULL, NULL);
72 }
static size_t convert_case(char *dst, size_t dstsize, const char *src, ssize_t srclen, CaseKind str_casekind, WordBoundaryNext wbnext, void *wbstate)
Definition: unicode_case.c:137

References CaseLower, and convert_case().

Referenced by str_tolower(), and test_strlower().

◆ unicode_strtitle()

size_t unicode_strtitle ( char *  dst,
size_t  dstsize,
const char *  src,
ssize_t  srclen,
WordBoundaryNext  wbnext,
void *  wbstate 
)

Definition at line 100 of file unicode_case.c.

102 {
103  return convert_case(dst, dstsize, src, srclen, CaseTitle, wbnext,
104  wbstate);
105 }
@ CaseTitle

References CaseTitle, and convert_case().

Referenced by str_initcap().

◆ unicode_strupper()

size_t unicode_strupper ( char *  dst,
size_t  dstsize,
const char *  src,
ssize_t  srclen 
)

Definition at line 124 of file unicode_case.c.

125 {
126  return convert_case(dst, dstsize, src, srclen, CaseUpper, NULL, NULL);
127 }
@ CaseUpper

References CaseUpper, and convert_case().

Referenced by str_toupper().

◆ unicode_titlecase_simple()

pg_wchar unicode_titlecase_simple ( pg_wchar  ucs)

Definition at line 37 of file unicode_case.c.

38 {
39  const pg_case_map *map = find_case_map(code);
40 
41  return map ? map->simplemap[CaseTitle] : code;
42 }

References CaseTitle, find_case_map(), and pg_case_map::simplemap.

◆ unicode_uppercase_simple()

pg_wchar unicode_uppercase_simple ( pg_wchar  ucs)

Definition at line 45 of file unicode_case.c.

46 {
47  const pg_case_map *map = find_case_map(code);
48 
49  return map ? map->simplemap[CaseUpper] : code;
50 }

References CaseUpper, find_case_map(), and pg_case_map::simplemap.

Referenced by pg_wc_toupper().