mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-09 23:34:20 +00:00
Fix #946: Add standard iterator traits to CharPointer_UTF8 for compatibility with std algorithms
- Added value_type, pointer, reference, iterator_category, and difference_type typedefs - Enables CharPointer_UTF8 to work with standard library algorithms like std::all_of - Uses input_iterator_tag as the most appropriate category for UTF-8 character iteration - Maintains full backward compatibility with existing code - Tested with both GCC and Clang compilers
This commit is contained in:
parent
d6181bde38
commit
ff23b25e6a
1 changed files with 7 additions and 0 deletions
|
|
@ -48,6 +48,13 @@ class CharPointer_UTF8 final
|
|||
public:
|
||||
using CharType = char;
|
||||
|
||||
// Standard iterator traits for compatibility with STL algorithms
|
||||
using value_type = juce_wchar;
|
||||
using pointer = juce_wchar*;
|
||||
using reference = juce_wchar; // Note: returns by value since this is a proxy iterator
|
||||
using iterator_category = std::input_iterator_tag;
|
||||
using difference_type = std::ptrdiff_t;
|
||||
|
||||
explicit CharPointer_UTF8 (const CharType* rawPointer) noexcept
|
||||
: data (const_cast<CharType*> (rawPointer))
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue