1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-09 23:34:20 +00:00
JUCE/modules
reuk 8b77aca786
CharPointer_UTF16: Make behaviour consistent when iterating through unpaired surrogates
There's a few things going on in this commit:

- The implementation of CharPointer_UTF16 now uses helpers from
  CharacterFunctions to avoid a few instances of magic numbers.
- Where it makes sense, member functions of that class have been DRYed
  by e.g. implementing getAndAdvance in terms of operator*() and
  operator++().
- Added more tests for incrementing/decrementing/dereferencing
  CharPointer_UTF16.

After this change, a CharPointer_UTF16 that points to an unpaired
surrogate will always dereference to a 32-bit character with that
surrogate's value.

Note that dereferencing a CharPointer_UTF16 that points to a high
surrogate at the final code unit in a memory region is inherently
unsafe, because CharPointer_UTF16 can't track its own size, and the
dereference operation will check the following code unit to see whether
it is a low surrogate.
2025-11-18 18:54:47 +00:00
..
juce_analytics Bump version number to 8.0.10 2025-09-15 09:30:11 +01:00
juce_animation Bump version number to 8.0.10 2025-09-15 09:30:11 +01:00
juce_audio_basics Formatting: Remove double-dots from comments and other strings 2025-11-18 15:47:42 +00:00
juce_audio_devices Docs: Update language to be more diplomatic 2025-11-18 15:47:42 +00:00
juce_audio_formats Formatting: Remove double-dots from comments and other strings 2025-11-18 15:47:42 +00:00
juce_audio_plugin_client Docs: Update language to be more diplomatic 2025-11-18 15:47:42 +00:00
juce_audio_processors Formatting: Remove double-dots from comments and other strings 2025-11-18 15:47:42 +00:00
juce_audio_processors_headless Docs: Update language to be more diplomatic 2025-11-18 15:47:42 +00:00
juce_audio_utils Formatting: Remove double-dots from comments and other strings 2025-11-18 15:47:42 +00:00
juce_box2d Bump version number to 8.0.10 2025-09-15 09:30:11 +01:00
juce_core CharPointer_UTF16: Make behaviour consistent when iterating through unpaired surrogates 2025-11-18 18:54:47 +00:00
juce_cryptography Formatting: Remove double-dots from comments and other strings 2025-11-18 15:47:42 +00:00
juce_data_structures Formatting: Remove double-dots from comments and other strings 2025-11-18 15:47:42 +00:00
juce_dsp Bump version number to 8.0.10 2025-09-15 09:30:11 +01:00
juce_events Formatting: Remove double-dots from comments and other strings 2025-11-18 15:47:42 +00:00
juce_graphics Formatting: Remove double-dots from comments and other strings 2025-11-18 15:47:42 +00:00
juce_gui_basics Formatting: Remove double-dots from comments and other strings 2025-11-18 15:47:42 +00:00
juce_gui_extra Formatting: Remove double-dots from comments and other strings 2025-11-18 15:47:42 +00:00
juce_javascript Bump version number to 8.0.10 2025-09-15 09:30:11 +01:00
juce_midi_ci Bump version number to 8.0.10 2025-09-15 09:30:11 +01:00
juce_opengl Docs: Update language to be more diplomatic 2025-11-18 15:47:42 +00:00
juce_osc Formatting: Remove double-dots from comments and other strings 2025-11-18 15:47:42 +00:00
juce_product_unlocking Bump version number to 8.0.10 2025-09-15 09:30:11 +01:00
juce_video Formatting: Remove double-dots from comments and other strings 2025-11-18 15:47:42 +00:00
CMakeLists.txt Create new empty juce_audio_processors_headless module 2025-09-17 12:50:07 +01:00