libunibreak: unibreakdef.h File Reference

libunibreak 4.3

Macros | Typedefs | Functions
unibreakdef.h File Reference
`#include <stdbool.h>`
`#include <stddef.h>`
`#include "unibreakbase.h"`
Include dependency graph for unibreakdef.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Macros
#define | ARRAY_LEN(x) (sizeof(x) / sizeof(x[0]))
#define | EOS 0xFFFFFFFF
| Constant value to mark the end of string. More...

## Typedefs
typedef utf32_t(* | get_next_char_t) (const void *, size_t, size_t *)
| Abstract function interface for ub_get_next_char_utf8, ub_get_next_char_utf16, and ub_get_next_char_utf32. More...

## Functions
utf32_t | ub_get_next_char_utf8 (const utf8_t *s, size_t len, size_t *ip)
| Gets the next Unicode character in a UTF-8 sequence. More...
utf32_t | ub_get_next_char_utf16 (const utf16_t *s, size_t len, size_t *ip)
| Gets the next Unicode character in a UTF-16 sequence. More...
utf32_t | ub_get_next_char_utf32 (const utf32_t *s, size_t len, size_t *ip)
| Gets the next Unicode character in a UTF-32 sequence. More...

## Detailed Description

Header file for private definitions in the libunibreak library.

Author
  Wu Yongwei

## Macro Definition Documentation

## ◆ ARRAY_LEN

#define ARRAY_LEN | ( |  | x | ) | (sizeof(x) / sizeof(x[0]))

## ◆ EOS

#define EOS 0xFFFFFFFF

Constant value to mark the end of string.

It is not a valid Unicode character.

## Typedef Documentation

## ◆ get_next_char_t

typedef utf32_t(* get_next_char_t) (const void *, size_t, size_t *)

Abstract function interface for ub_get_next_char_utf8, ub_get_next_char_utf16, and ub_get_next_char_utf32.

## Function Documentation

## ◆ ub_get_next_char_utf16()

utf32_t ub_get_next_char_utf16 | ( | const utf16_t * | s,
|  | size_t | len,
|  | size_t * | ip
| ) |  |

Gets the next Unicode character in a UTF-16 sequence.

The index will be advanced to the next complete character, unless the end of string is reached in the middle of a UTF-16 surrogate pair.

Parameters

  [in] | s | input UTF-16 string
  [in] | len | length of the string in words
  [in,out] | ip | pointer to the index

Returns
  the Unicode character beginning at the index; or EOS if end of input is encountered

## ◆ ub_get_next_char_utf32()

utf32_t ub_get_next_char_utf32 | ( | const utf32_t * | s,
|  | size_t | len,
|  | size_t * | ip
| ) |  |

Gets the next Unicode character in a UTF-32 sequence.

The index will be advanced to the next character.

Parameters

  [in] | s | input UTF-32 string
  [in] | len | length of the string in dwords
  [in,out] | ip | pointer to the index

Returns
  the Unicode character beginning at the index; or EOS if end of input is encountered

## ◆ ub_get_next_char_utf8()

utf32_t ub_get_next_char_utf8 | ( | const utf8_t * | s,
|  | size_t | len,
|  | size_t * | ip
| ) |  |

Gets the next Unicode character in a UTF-8 sequence.

The index will be advanced to the next complete character, unless the end of string is reached in the middle of a UTF-8 sequence.

Parameters

  [in] | s | input UTF-8 string
  [in] | len | length of the string in bytes
  [in,out] | ip | pointer to the index

Returns
  the Unicode character beginning at the index; or EOS if end of input is encountered