Skip to content

Commit d33ca7a

Browse files
committed
apply constexpr to certain private functions
1 parent 1f7c97f commit d33ca7a

File tree

1 file changed

+24
-24
lines changed

1 file changed

+24
-24
lines changed

include/st_utf_conv_priv.h

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ namespace _ST_PRIVATE
3737
latin1_out_of_range,
3838
};
3939

40-
inline void raise_conversion_error(conversion_error_t err)
40+
constexpr void raise_conversion_error(conversion_error_t err)
4141
{
4242
switch (err) {
4343
case conversion_error_t::success:
@@ -176,21 +176,21 @@ namespace _ST_PRIVATE
176176
}
177177

178178
ST_NODISCARD
179-
inline char32_t error_char(conversion_error_t value)
179+
constexpr char32_t error_char(conversion_error_t value)
180180
{
181181
return static_cast<char32_t>(value) | 0x400000u;
182182
}
183183

184184
ST_NODISCARD
185-
inline conversion_error_t char_error(char32_t ch)
185+
constexpr conversion_error_t char_error(char32_t ch)
186186
{
187187
return (ch & 0x400000u) != 0
188188
? static_cast<conversion_error_t>(ch & ~0x400000u)
189189
: conversion_error_t::success;
190190
}
191191

192192
ST_NODISCARD
193-
inline char32_t extract_utf8(const unsigned char *&utf8, const unsigned char *end)
193+
constexpr char32_t extract_utf8(const unsigned char *&utf8, const unsigned char *end)
194194
{
195195
char32_t bigch;
196196
if (*utf8 < 0x80) {
@@ -230,7 +230,7 @@ namespace _ST_PRIVATE
230230
}
231231

232232
ST_NODISCARD
233-
inline size_t utf8_measure(char32_t ch)
233+
constexpr size_t utf8_measure(char32_t ch)
234234
{
235235
if (ch < 0x80) {
236236
return 1;
@@ -247,7 +247,7 @@ namespace _ST_PRIVATE
247247
}
248248

249249
ST_NODISCARD
250-
inline conversion_error_t write_utf8(char *&dest, char32_t ch)
250+
constexpr conversion_error_t write_utf8(char *&dest, char32_t ch)
251251
{
252252
if (ch < 0x80) {
253253
*dest++ = static_cast<char>(ch);
@@ -272,7 +272,7 @@ namespace _ST_PRIVATE
272272
}
273273

274274
ST_NODISCARD
275-
inline char32_t extract_utf16(const char16_t *&utf16, const char16_t *end)
275+
constexpr char32_t extract_utf16(const char16_t *&utf16, const char16_t *end)
276276
{
277277
char32_t bigch;
278278
if (*utf16 >= 0xD800 && *utf16 <= 0xDFFF) {
@@ -303,7 +303,7 @@ namespace _ST_PRIVATE
303303
}
304304

305305
ST_NODISCARD
306-
inline size_t utf16_measure(char32_t ch)
306+
constexpr size_t utf16_measure(char32_t ch)
307307
{
308308
// Out-of-range code point always gets replaced
309309
if (ch < 0x10000 || ch > 0x10FFFF)
@@ -314,7 +314,7 @@ namespace _ST_PRIVATE
314314
}
315315

316316
ST_NODISCARD
317-
inline conversion_error_t write_utf16(char16_t *&dest, char32_t ch)
317+
constexpr conversion_error_t write_utf16(char16_t *&dest, char32_t ch)
318318
{
319319
if (ch < 0x10000) {
320320
*dest++ = static_cast<char16_t>(ch);
@@ -330,7 +330,7 @@ namespace _ST_PRIVATE
330330
}
331331

332332
ST_NODISCARD
333-
inline size_t utf8_measure_from_utf16(const char16_t *utf16, size_t size)
333+
constexpr size_t utf8_measure_from_utf16(const char16_t *utf16, size_t size)
334334
{
335335
if (!utf16)
336336
return 0;
@@ -344,7 +344,7 @@ namespace _ST_PRIVATE
344344
}
345345

346346
ST_NODISCARD
347-
inline conversion_error_t utf8_convert_from_utf16(char *dest,
347+
constexpr conversion_error_t utf8_convert_from_utf16(char *dest,
348348
const char16_t *utf16, size_t size,
349349
ST::utf_validation_t validation)
350350
{
@@ -370,7 +370,7 @@ namespace _ST_PRIVATE
370370
}
371371

372372
ST_NODISCARD
373-
inline size_t utf8_measure_from_utf32(const char32_t *utf32, size_t size)
373+
constexpr size_t utf8_measure_from_utf32(const char32_t *utf32, size_t size)
374374
{
375375
if (!utf32)
376376
return 0;
@@ -384,7 +384,7 @@ namespace _ST_PRIVATE
384384
}
385385

386386
ST_NODISCARD
387-
inline conversion_error_t utf8_convert_from_utf32(char *dest,
387+
constexpr conversion_error_t utf8_convert_from_utf32(char *dest,
388388
const char32_t *utf32, size_t size,
389389
ST::utf_validation_t validation)
390390
{
@@ -405,7 +405,7 @@ namespace _ST_PRIVATE
405405
}
406406

407407
ST_NODISCARD
408-
inline size_t utf8_measure_from_latin_1(const char *astr, size_t size)
408+
constexpr size_t utf8_measure_from_latin_1(const char *astr, size_t size)
409409
{
410410
if (!astr)
411411
return 0;
@@ -422,7 +422,7 @@ namespace _ST_PRIVATE
422422
return u8len;
423423
}
424424

425-
inline void utf8_convert_from_latin_1(char *dest, const char *astr, size_t size)
425+
constexpr void utf8_convert_from_latin_1(char *dest, const char *astr, size_t size)
426426
{
427427
const char *sp = astr;
428428
const char *ep = sp + size;
@@ -475,7 +475,7 @@ namespace _ST_PRIVATE
475475
}
476476

477477
ST_NODISCARD
478-
inline size_t utf16_measure_from_utf32(const char32_t *utf32, size_t size)
478+
constexpr size_t utf16_measure_from_utf32(const char32_t *utf32, size_t size)
479479
{
480480
if (!utf32)
481481
return 0;
@@ -489,7 +489,7 @@ namespace _ST_PRIVATE
489489
}
490490

491491
ST_NODISCARD
492-
inline conversion_error_t utf16_convert_from_utf32(char16_t *dest,
492+
constexpr conversion_error_t utf16_convert_from_utf32(char16_t *dest,
493493
const char32_t *utf32, size_t size,
494494
ST::utf_validation_t validation)
495495
{
@@ -547,7 +547,7 @@ namespace _ST_PRIVATE
547547
}
548548

549549
ST_NODISCARD
550-
inline size_t utf32_measure_from_utf16(const char16_t *utf16, size_t size)
550+
constexpr size_t utf32_measure_from_utf16(const char16_t *utf16, size_t size)
551551
{
552552
if (!utf16)
553553
return 0;
@@ -563,7 +563,7 @@ namespace _ST_PRIVATE
563563
}
564564

565565
ST_NODISCARD
566-
inline conversion_error_t utf32_convert_from_utf16(char32_t *dest,
566+
constexpr conversion_error_t utf32_convert_from_utf16(char32_t *dest,
567567
const char16_t *utf16, size_t size,
568568
ST::utf_validation_t validation)
569569
{
@@ -585,15 +585,15 @@ namespace _ST_PRIVATE
585585
return conversion_error_t::success;
586586
}
587587

588-
inline void utf16_convert_from_latin_1(char16_t *dest, const char *astr, size_t size)
588+
constexpr void utf16_convert_from_latin_1(char16_t *dest, const char *astr, size_t size)
589589
{
590590
const char *sp = astr;
591591
const char *ep = sp + size;
592592
while (sp < ep)
593593
*dest++ = static_cast<unsigned char>(*sp++);
594594
}
595595

596-
inline void utf32_convert_from_latin_1(char32_t *dest, const char *astr, size_t size)
596+
constexpr void utf32_convert_from_latin_1(char32_t *dest, const char *astr, size_t size)
597597
{
598598
const char *sp = astr;
599599
const char *ep = sp + size;
@@ -639,14 +639,14 @@ namespace _ST_PRIVATE
639639
}
640640

641641
ST_NODISCARD
642-
inline size_t latin_1_measure_from_utf16(const char16_t *utf16, size_t size)
642+
constexpr size_t latin_1_measure_from_utf16(const char16_t *utf16, size_t size)
643643
{
644644
// This always returns the same answer as UTF-32
645645
return utf32_measure_from_utf16(utf16, size);
646646
}
647647

648648
ST_NODISCARD
649-
inline conversion_error_t latin_1_convert_from_utf16(char *dest,
649+
constexpr conversion_error_t latin_1_convert_from_utf16(char *dest,
650650
const char16_t *utf16, size_t size,
651651
ST::utf_validation_t validation,
652652
bool substitute_out_of_range)
@@ -676,7 +676,7 @@ namespace _ST_PRIVATE
676676
}
677677

678678
ST_NODISCARD
679-
inline conversion_error_t latin_1_convert_from_utf32(char *dest,
679+
constexpr conversion_error_t latin_1_convert_from_utf32(char *dest,
680680
const char32_t *utf32, size_t size,
681681
ST::utf_validation_t validation,
682682
bool substitute_out_of_range)

0 commit comments

Comments
 (0)