81 auto byte = (
signed char) *
data;
89 int numExtraValues = 0;
91 while ((
n & bit) != 0 && bit > 0x8)
100 for (
int i = 1;
i <= numExtraValues; ++
i)
104 if ((nextByte & 0xc0) != 0x80)
108 n |= (nextByte & 0x3f);
118 auto n = (
signed char) *
data++;
124 while ((
static_cast<uint8> (
n) & bit) != 0 && bit > 0x8)
127 bit =
static_cast<uint8> (bit >> 1);
139 while ((*--
data & 0xc0) == 0x80 && ++
count < 4)
149 auto byte = (
signed char) *
data++;
157 int numExtraValues = 0;
159 while ((
n & bit) != 0 && bit > 0x8)
168 while (--numExtraValues >= 0)
172 if ((nextByte & 0xc0) != 0x80)
177 n |= (nextByte & 0x3f);
192 void operator+= (
int numToSkip)
noexcept
196 while (++numToSkip <= 0)
201 while (--numToSkip >= 0)
207 void operator-= (
int numToSkip)
noexcept
209 operator+= (-numToSkip);
248 while ((*
d & 0xc0) == 0x80)
261 size_t lengthUpTo (
const size_t maxCharsToCount)
const noexcept
279 return strlen (
data) + 1;
309 template <
class CharPo
inter>
314 while (
auto n =
text.getAndAdvance())
333 int numExtraBytes = 1;
341 *
data++ = (
CharType) ((
uint32) (0xff << (7 - numExtraBytes)) | (
c >> (numExtraBytes * 6)));
343 while (--numExtraBytes >= 0)
344 *
data++ = (
CharType) (0x80 | (0x3f & (
c >> (numExtraBytes * 6))));
359 template <
typename CharPo
inter>
370 while ((*
data = *
s) != 0)
381 template <
typename CharPo
inter>
391 template <
typename CharPo
inter>
398 template <
typename CharPo
inter>
399 int compare (
const CharPointer other)
const noexcept
405 template <
typename CharPo
inter>
406 int compareUpTo (
const CharPointer other,
const int maxChars)
const noexcept
412 template <
typename CharPo
inter>
425 template <
typename CharPo
inter>
432 template <
typename CharPo
inter>
433 int indexOf (
const CharPointer stringToFind)
const noexcept
475 #if JUCE_WINDOWS && ! JUCE_MINGW
476 return _atoi64 (
data);
500 while (--maxBytesToRead >= 0 && *dataToTest != 0)
502 auto byte = (
signed char) *dataToTest++;
507 int numExtraValues = 0;
509 while ((
byte & bit) != 0)
517 if (bit == 8 && (numExtraValues > maxBytesToRead
522 if (numExtraValues == 0)
525 maxBytesToRead -= numExtraValues;
526 if (maxBytesToRead < 0)
529 while (--numExtraValues >= 0)
530 if ((*dataToTest++ & 0xc0) != 0x80)
558 jassert (possibleByteOrder !=
nullptr);
559 auto c =
static_cast<const uint8*
> (possibleByteOrder);
#define noexcept
Definition DistrhoDefines.h:72
#define final
Definition DistrhoDefines.h:74
static const unsigned long mask[]
Definition bitwise.c:31
#define byte
Definition blargg_source.h:87
int compareIgnoreCase(const CharPointer_UTF8 other) const noexcept
Definition juce_CharPointer_UTF8.h:419
int indexOf(const juce_wchar charToFind) const noexcept
Definition juce_CharPointer_UTF8.h:439
int compareUpTo(const CharPointer other, const int maxChars) const noexcept
Definition juce_CharPointer_UTF8.h:406
void writeAll(const CharPointer src) noexcept
Definition juce_CharPointer_UTF8.h:360
CharPointer_UTF8 & operator++() noexcept
Definition juce_CharPointer_UTF8.h:115
CharPointer_UTF8 findTerminatingNull() const noexcept
Definition juce_CharPointer_UTF8.h:321
char CharType
Definition juce_CharPointer_UTF8.h:37
int compareIgnoreCaseUpTo(const CharPointer other, const int maxChars) const noexcept
Definition juce_CharPointer_UTF8.h:426
static size_t getBytesRequiredFor(CharPointer text) noexcept
Definition juce_CharPointer_UTF8.h:310
bool isLetterOrDigit() const noexcept
Definition juce_CharPointer_UTF8.h:458
CharType * data
Definition juce_CharPointer_UTF8.h:568
juce_wchar operator*() const noexcept
Definition juce_CharPointer_UTF8.h:79
bool isLetter() const noexcept
Definition juce_CharPointer_UTF8.h:456
void incrementToEndOfWhitespace() noexcept
Definition juce_CharPointer_UTF8.h:489
size_t lengthUpTo(const CharPointer_UTF8 end) const noexcept
Definition juce_CharPointer_UTF8.h:267
juce_wchar getAndAdvance() noexcept
Definition juce_CharPointer_UTF8.h:147
size_t writeWithDestByteLimit(const CharPointer src, const size_t maxDestBytes) noexcept
Definition juce_CharPointer_UTF8.h:382
bool isNotEmpty() const noexcept
Definition juce_CharPointer_UTF8.h:76
size_t lengthUpTo(const size_t maxCharsToCount) const noexcept
Definition juce_CharPointer_UTF8.h:261
@ byteOrderMark2
Definition juce_CharPointer_UTF8.h:548
@ byteOrderMark3
Definition juce_CharPointer_UTF8.h:549
@ byteOrderMark1
Definition juce_CharPointer_UTF8.h:547
CharPointer_UTF8(const CharPointer_UTF8 &other)=default
double getDoubleValue() const noexcept
Definition juce_CharPointer_UTF8.h:483
size_t sizeInBytes() const noexcept
Definition juce_CharPointer_UTF8.h:275
CharPointer_UTF8(const CharType *rawPointer) noexcept
Definition juce_CharPointer_UTF8.h:39
CharPointer_UTF8 operator--() noexcept
Definition juce_CharPointer_UTF8.h:135
void writeAll(const CharPointer_UTF8 src) noexcept
Definition juce_CharPointer_UTF8.h:366
void writeNull() const noexcept
Definition juce_CharPointer_UTF8.h:353
bool isEmpty() const noexcept
Definition juce_CharPointer_UTF8.h:73
juce_wchar toUpperCase() const noexcept
Definition juce_CharPointer_UTF8.h:465
static size_t getBytesRequiredFor(const juce_wchar charToWrite) noexcept
Definition juce_CharPointer_UTF8.h:286
int indexOf(const CharPointer stringToFind) const noexcept
Definition juce_CharPointer_UTF8.h:433
int64 getIntValue64() const noexcept
Definition juce_CharPointer_UTF8.h:473
static bool canRepresent(juce_wchar character) noexcept
Definition juce_CharPointer_UTF8.h:492
int indexOf(const juce_wchar charToFind, const bool ignoreCase) const noexcept
Definition juce_CharPointer_UTF8.h:445
int getIntValue32() const noexcept
Definition juce_CharPointer_UTF8.h:470
bool isUpperCase() const noexcept
Definition juce_CharPointer_UTF8.h:460
int compareIgnoreCase(const CharPointer other) const noexcept
Definition juce_CharPointer_UTF8.h:413
bool isLowerCase() const noexcept
Definition juce_CharPointer_UTF8.h:462
static bool isByteOrderMark(const void *possibleByteOrder) noexcept
Definition juce_CharPointer_UTF8.h:555
void writeWithCharLimit(const CharPointer src, const int maxChars) noexcept
Definition juce_CharPointer_UTF8.h:392
CharPointer_UTF8 atomicSwap(const CharPointer_UTF8 newValue)
Definition juce_CharPointer_UTF8.h:539
static bool isValidString(const CharType *dataToTest, int maxBytesToRead)
Definition juce_CharPointer_UTF8.h:498
juce_wchar toLowerCase() const noexcept
Definition juce_CharPointer_UTF8.h:467
int compare(const CharPointer other) const noexcept
Definition juce_CharPointer_UTF8.h:399
bool isWhitespace() const noexcept
Definition juce_CharPointer_UTF8.h:452
CharPointer_UTF8 findEndOfWhitespace() const noexcept
Definition juce_CharPointer_UTF8.h:486
bool isDigit() const noexcept
Definition juce_CharPointer_UTF8.h:454
void write(const juce_wchar charToWrite) noexcept
Definition juce_CharPointer_UTF8.h:327
CharType * getAddress() const noexcept
Definition juce_CharPointer_UTF8.h:67
size_t length() const noexcept
Definition juce_CharPointer_UTF8.h:237
static void incrementToEndOfWhitespace(Type &text) noexcept
Definition juce_CharacterFunctions.h:807
static int compare(juce_wchar char1, juce_wchar char2) noexcept
Definition juce_CharacterFunctions.h:596
static juce_wchar toLowerCase(juce_wchar character) noexcept
Definition juce_CharacterFunctions.cpp:33
static size_t copyWithDestByteLimit(DestCharPointerType &dest, SrcCharPointerType src, size_t maxBytesToWrite) noexcept
Definition juce_CharacterFunctions.h:553
static int indexOfCharIgnoreCase(Type text, juce_wchar charToFind) noexcept
Definition juce_CharacterFunctions.h:783
static int compareIgnoreCaseUpTo(CharPointerType1 s1, CharPointerType2 s2, int maxChars) noexcept
Definition juce_CharacterFunctions.h:666
static int indexOfChar(Type text, const juce_wchar charToFind) noexcept
Definition juce_CharacterFunctions.h:763
static int compareIgnoreCase(juce_wchar char1, juce_wchar char2) noexcept
Definition juce_CharacterFunctions.h:641
static bool isLowerCase(juce_wchar character) noexcept
Definition juce_CharacterFunctions.cpp:47
static bool isLetter(char character) noexcept
Definition juce_CharacterFunctions.cpp:79
static int indexOf(CharPointerType1 textToSearch, const CharPointerType2 substringToLookFor) noexcept
Definition juce_CharacterFunctions.h:686
static bool isWhitespace(char character) noexcept
Definition juce_CharacterFunctions.cpp:59
static size_t lengthUpTo(CharPointerType text, const size_t maxCharsToCount) noexcept
Definition juce_CharacterFunctions.h:517
static Type findEndOfWhitespace(Type text) noexcept
Definition juce_CharacterFunctions.h:818
static void copyWithCharLimit(DestCharPointerType &dest, SrcCharPointerType src, int maxChars) noexcept
Definition juce_CharacterFunctions.h:580
static bool isLetterOrDigit(char character) noexcept
Definition juce_CharacterFunctions.cpp:90
static juce_wchar toUpperCase(juce_wchar character) noexcept
Definition juce_CharacterFunctions.cpp:28
static bool isUpperCase(juce_wchar character) noexcept
Definition juce_CharacterFunctions.cpp:38
static double getDoubleValue(CharPointerType text) noexcept
Definition juce_CharacterFunctions.h:457
static void copyAll(DestCharPointerType &dest, SrcCharPointerType src) noexcept
Definition juce_CharacterFunctions.h:542
static int compareUpTo(CharPointerType1 s1, CharPointerType2 s2, int maxChars) noexcept
Definition juce_CharacterFunctions.h:624
unsigned d
Definition inflate.c:940
register unsigned i
Definition inflate.c:1575
unsigned s
Definition inflate.c:1555
static void exchange(char **argv)
Definition getopt.c:305
JSAMPIMAGE data
Definition jpeglib.h:945
#define JUCE_BEGIN_IGNORE_WARNINGS_MSVC(warnings)
Definition juce_CompilerWarnings.h:198
#define JUCE_END_IGNORE_WARNINGS_MSVC
Definition juce_CompilerWarnings.h:199
Definition carla_juce.cpp:31
unsigned int uint32
Definition juce_MathsFunctions.h:45
RangedDirectoryIterator end(const RangedDirectoryIterator &)
Definition juce_RangedDirectoryIterator.h:184
long long int64
Definition juce_MathsFunctions.h:54
wchar_t juce_wchar
Definition juce_CharacterFunctions.h:42
unsigned char uint8
Definition juce_MathsFunctions.h:37
Definition juce_Atomic.h:42
const char * text
Definition swell-functions.h:167
int n
Definition crypt.c:458
uch * p
Definition crypt.c:594
return c
Definition crypt.c:175
_WDL_CSTRING_PREFIX void INT_PTR count
Definition wdlcstring.h:263
#define const
Definition zconf.h:137