CMake/Source/cm_utf8.h
Kitware Robot 0b96ae1f6a Revise C++ coding style using clang-format with "east const"
Run the `clang-format.bash` script to update all our C and C++ code to a
new style defined by `.clang-format`, now with "east const" enforcement.
Use `clang-format` version 18.

* If you reached this commit for a line in `git blame`, re-run the blame
  operation starting at the parent of this commit to see older history
  for the content.

* See the parent commit for instructions to rebase a change across this
  style transition commit.

Issue: #26123
2025-01-23 13:09:50 -05:00

24 lines
784 B
C

/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
file Copyright.txt or https://cmake.org/licensing for details. */
#pragma once
#ifdef __cplusplus
extern "C" {
#endif
extern unsigned char const cm_utf8_ones[256];
/** Decode one UTF-8 character from the input byte range. On success,
stores the unicode character number in *pc and returns the first
position not extracted. On failure, returns 0. */
char const* cm_utf8_decode_character(char const* first, char const* last,
unsigned int* pc);
/** Returns whether a C string is a sequence of valid UTF-8 encoded Unicode
codepoints. Returns non-zero on success. */
int cm_utf8_is_valid(char const* s);
#ifdef __cplusplus
} /* extern "C" */
#endif