Loading...
Searching...
No Matches
juce::CharacterFunctions Class Reference

`#include <juce_CharacterFunctions.h>`

## Classes

struct | HexParser

## Static Public Member Functions

static juce_wchar | toUpperCase (juce_wchar character) noexcept
static juce_wchar | toLowerCase (juce_wchar character) noexcept
static bool | isUpperCase (juce_wchar character) noexcept
static bool | isLowerCase (juce_wchar character) noexcept
static bool | isWhitespace (char character) noexcept
static bool | isWhitespace (juce_wchar character) noexcept
static bool | isDigit (char character) noexcept
static bool | isDigit (juce_wchar character) noexcept
static bool | isLetter (char character) noexcept
static bool | isLetter (juce_wchar character) noexcept
static bool | isLetterOrDigit (char character) noexcept
static bool | isLetterOrDigit (juce_wchar character) noexcept
static bool | isPrintable (char character) noexcept
static bool | isPrintable (juce_wchar character) noexcept
static int | getHexDigitValue (juce_wchar digit) noexcept
static juce_wchar | getUnicodeCharFromWindows1252Codepage (uint8 windows1252Char) noexcept
template<typename CharPointerType>
static double | readDoubleValue (CharPointerType &text) noexcept
template<typename CharPointerType>
static double | getDoubleValue (CharPointerType text) noexcept
template<typename IntType, typename CharPointerType>
static IntType | getIntValue (const CharPointerType text) noexcept
template<typename CharPointerType>
static size_t | lengthUpTo (CharPointerType text, const size_t maxCharsToCount) noexcept
template<typename CharPointerType>
static size_t | lengthUpTo (CharPointerType start, const CharPointerType end) noexcept
template<typename DestCharPointerType, typename SrcCharPointerType>
static void | copyAll (DestCharPointerType &dest, SrcCharPointerType src) noexcept
template<typename DestCharPointerType, typename SrcCharPointerType>
static size_t | copyWithDestByteLimit (DestCharPointerType &dest, SrcCharPointerType src, size_t maxBytesToWrite) noexcept
template<typename DestCharPointerType, typename SrcCharPointerType>
static void | copyWithCharLimit (DestCharPointerType &dest, SrcCharPointerType src, int maxChars) noexcept
static int | compare (juce_wchar char1, juce_wchar char2) noexcept
template<typename CharPointerType1, typename CharPointerType2>
static int | compare (CharPointerType1 s1, CharPointerType2 s2) noexcept
template<typename CharPointerType1, typename CharPointerType2>
static int | compareUpTo (CharPointerType1 s1, CharPointerType2 s2, int maxChars) noexcept
static int | compareIgnoreCase (juce_wchar char1, juce_wchar char2) noexcept
template<typename CharPointerType1, typename CharPointerType2>
static int | compareIgnoreCase (CharPointerType1 s1, CharPointerType2 s2) noexcept
template<typename CharPointerType1, typename CharPointerType2>
static int | compareIgnoreCaseUpTo (CharPointerType1 s1, CharPointerType2 s2, int maxChars) noexcept
template<typename CharPointerType1, typename CharPointerType2>
static int | indexOf (CharPointerType1 textToSearch, const CharPointerType2 substringToLookFor) noexcept
template<typename CharPointerType1, typename CharPointerType2>
static CharPointerType1 | find (CharPointerType1 textToSearch, const CharPointerType2 substringToLookFor) noexcept
template<typename CharPointerType>
static CharPointerType | find (CharPointerType textToSearch, const juce_wchar charToLookFor) noexcept
template<typename CharPointerType1, typename CharPointerType2>
static int | indexOfIgnoreCase (CharPointerType1 haystack, const CharPointerType2 needle) noexcept
template<typename Type>
static int | indexOfChar (Type text, const juce_wchar charToFind) noexcept
template<typename Type>
static int | indexOfCharIgnoreCase (Type text, juce_wchar charToFind) noexcept
template<typename Type>
static void | incrementToEndOfWhitespace (Type &text) noexcept
template<typename Type>
static Type | findEndOfWhitespace (Type text) noexcept
template<typename Type, typename BreakType>
static Type | findEndOfToken (Type text, BreakType breakCharacters, Type quoteCharacters)

## Detailed Description

A collection of functions for manipulating characters and character strings.

Most of these methods are designed for internal use by the String and CharPointer classes, but some of them may be useful to call directly.

See also
  String, CharPointer_UTF8, CharPointer_UTF16, CharPointer_UTF32

Definition at line 91 of file juce_CharacterFunctions.h.

## Member Function Documentation

## compare() [1/2]

template<typename CharPointerType1, typename CharPointerType2>

int juce::CharacterFunctions::compare | ( | CharPointerType1 | s1,
|  | CharPointerType2 | s2 )

inline static noexcept

Compares two null-terminated character strings.

Definition at line 606 of file juce_CharacterFunctions.h.

## compare() [2/2]

int juce::CharacterFunctions::compare | ( | juce_wchar | char1,
|  | juce_wchar | char2 )

inline static noexcept

Compares two characters.

Definition at line 596 of file juce_CharacterFunctions.h.

Referenced by compare(), juce::CharPointer_ASCII::compare(), juce::CharPointer_UTF16::compare(), juce::CharPointer_UTF32::compare(), juce::CharPointer_UTF8::compare(), compareIgnoreCase(), and compareUpTo().

## compareIgnoreCase() [1/2]

template<typename CharPointerType1, typename CharPointerType2>

int juce::CharacterFunctions::compareIgnoreCase | ( | CharPointerType1 | s1,
|  | CharPointerType2 | s2 )

inline static noexcept

Compares two null-terminated character strings, using a case-independant match.

Definition at line 648 of file juce_CharacterFunctions.h.

## compareIgnoreCase() [2/2]

int juce::CharacterFunctions::compareIgnoreCase | ( | juce_wchar | char1,
|  | juce_wchar | char2 )

inline static noexcept

Compares two characters, using a case-independant match.

Definition at line 641 of file juce_CharacterFunctions.h.

Referenced by compareIgnoreCase(), juce::CharPointer_ASCII::compareIgnoreCase(), juce::CharPointer_UTF16::compareIgnoreCase(), juce::CharPointer_UTF32::compareIgnoreCase(), juce::CharPointer_UTF8::compareIgnoreCase(), juce::CharPointer_UTF8::compareIgnoreCase(), and compareIgnoreCaseUpTo().

## compareIgnoreCaseUpTo()

template<typename CharPointerType1, typename CharPointerType2>

int juce::CharacterFunctions::compareIgnoreCaseUpTo | ( | CharPointerType1 | s1,
|  | CharPointerType2 | s2,
|  | int | maxChars )

inline static noexcept

Compares two null-terminated character strings, using a case-independent match.

Definition at line 666 of file juce_CharacterFunctions.h.

Referenced by juce::CharPointer_ASCII::compareIgnoreCaseUpTo(), juce::CharPointer_UTF16::compareIgnoreCaseUpTo(), juce::CharPointer_UTF32::compareIgnoreCaseUpTo(), and juce::CharPointer_UTF8::compareIgnoreCaseUpTo().

## compareUpTo()

template<typename CharPointerType1, typename CharPointerType2>

int juce::CharacterFunctions::compareUpTo | ( | CharPointerType1 | s1,
|  | CharPointerType2 | s2,
|  | int | maxChars )

inline static noexcept

Compares two null-terminated character strings, up to a given number of characters.

Definition at line 624 of file juce_CharacterFunctions.h.

Referenced by juce::CharPointer_ASCII::compareUpTo(), juce::CharPointer_UTF16::compareUpTo(), juce::CharPointer_UTF32::compareUpTo(), and juce::CharPointer_UTF8::compareUpTo().

## copyAll()

template<typename DestCharPointerType, typename SrcCharPointerType>

void juce::CharacterFunctions::copyAll | ( | DestCharPointerType & | dest,
|  | SrcCharPointerType | src )

inline static noexcept

Copies null-terminated characters from one string to another.

Definition at line 542 of file juce_CharacterFunctions.h.

Referenced by juce::CharPointer_ASCII::writeAll(), juce::CharPointer_UTF16::writeAll(), juce::CharPointer_UTF32::writeAll(), and juce::CharPointer_UTF8::writeAll().

## copyWithCharLimit()

template<typename DestCharPointerType, typename SrcCharPointerType>

void juce::CharacterFunctions::copyWithCharLimit | ( | DestCharPointerType & | dest,
|  | SrcCharPointerType | src,
|  | int | maxChars )

inline static noexcept

Copies characters from one string to another, up to a null terminator or a given maximum number of characters.

Definition at line 580 of file juce_CharacterFunctions.h.

Referenced by juce::CharPointer_ASCII::writeWithCharLimit(), juce::CharPointer_UTF16::writeWithCharLimit(), juce::CharPointer_UTF32::writeWithCharLimit(), and juce::CharPointer_UTF8::writeWithCharLimit().

## copyWithDestByteLimit()

template<typename DestCharPointerType, typename SrcCharPointerType>

size_t juce::CharacterFunctions::copyWithDestByteLimit | ( | DestCharPointerType & | dest,
|  | SrcCharPointerType | src,
|  | size_t | maxBytesToWrite )

inline static noexcept

Copies characters from one string to another, up to a null terminator or a given byte size limit.

Definition at line 553 of file juce_CharacterFunctions.h.

Referenced by juce::CharPointer_ASCII::writeWithDestByteLimit(), juce::CharPointer_UTF16::writeWithDestByteLimit(), juce::CharPointer_UTF32::writeWithDestByteLimit(), and juce::CharPointer_UTF8::writeWithDestByteLimit().

## find() [1/2]

template<typename CharPointerType>

CharPointerType juce::CharacterFunctions::find | ( | CharPointerType | textToSearch,
|  | const juce_wchar | charToLookFor )

inline static noexcept

Returns a pointer to the first occurrence of a substring in a string. If the substring is not found, this will return a pointer to the string's null terminator.

Definition at line 724 of file juce_CharacterFunctions.h.

## find() [2/2]

template<typename CharPointerType1, typename CharPointerType2>

CharPointerType1 juce::CharacterFunctions::find | ( | CharPointerType1 | textToSearch,
|  | const CharPointerType2 | substringToLookFor )

inline static noexcept

Returns a pointer to the first occurrence of a substring in a string. If the substring is not found, this will return a pointer to the string's null terminator.

Definition at line 708 of file juce_CharacterFunctions.h.

Referenced by juce::MemoryBlock::fromBase64Encoding().

## findEndOfToken()

template<typename Type, typename BreakType>

Type juce::CharacterFunctions::findEndOfToken | ( | Type | text,
|  | BreakType | breakCharacters,
|  | Type | quoteCharacters )

inline static

Returns a pointer to the first character in the string which is found in the breakCharacters string.

Definition at line 828 of file juce_CharacterFunctions.h.

Referenced by juce::StringArray::addTokens().

## findEndOfWhitespace()

template<typename Type>

Type juce::CharacterFunctions::findEndOfWhitespace | ( | Type | text | ) |

inline static noexcept

Returns a pointer to the first non-whitespace character in a string. If the string contains only whitespace, this will return a pointer to its null terminator.

Definition at line 818 of file juce_CharacterFunctions.h.

Referenced by juce::CharPointer_ASCII::findEndOfWhitespace(), juce::CharPointer_UTF16::findEndOfWhitespace(), juce::CharPointer_UTF32::findEndOfWhitespace(), and juce::CharPointer_UTF8::findEndOfWhitespace().

## getDoubleValue()

template<typename CharPointerType>

double juce::CharacterFunctions::getDoubleValue | ( | CharPointerType | text | ) |

inline static noexcept

Parses a character string, to read a floating-point value.

Definition at line 457 of file juce_CharacterFunctions.h.

Referenced by juce::CharPointer_ASCII::getDoubleValue(), juce::CharPointer_UTF16::getDoubleValue(), juce::CharPointer_UTF32::getDoubleValue(), and juce::CharPointer_UTF8::getDoubleValue().

## getHexDigitValue()

int juce::CharacterFunctions::getHexDigitValue | ( | juce_wchar | digit | ) |

static noexcept

Returns 0 to 16 for '0' to 'F", or -1 for characters that aren't a legal hex digit.

Definition at line 112 of file juce_CharacterFunctions.cpp.

Referenced by juce::BigInteger::parseString(), and juce::URL::removeEscapeChars().

## getIntValue()

template<typename IntType, typename CharPointerType>

IntType juce::CharacterFunctions::getIntValue | ( | const CharPointerType | text | ) |

inline static noexcept

Parses a character string, to read an integer value.

Definition at line 465 of file juce_CharacterFunctions.h.

Referenced by juce::CharPointer_UTF16::getIntValue32(), juce::CharPointer_UTF32::getIntValue32(), juce::CharPointer_ASCII::getIntValue64(), juce::CharPointer_UTF16::getIntValue64(), and juce::CharPointer_UTF32::getIntValue64().

## getUnicodeCharFromWindows1252Codepage()

juce_wchar juce::CharacterFunctions::getUnicodeCharFromWindows1252Codepage | ( | uint8 | windows1252Char | ) |

static noexcept

Converts a byte of Windows 1252 codepage to unicode.

Definition at line 164 of file juce_CharacterFunctions.cpp.

## incrementToEndOfWhitespace()

template<typename Type>

void juce::CharacterFunctions::incrementToEndOfWhitespace | ( | Type & | text | ) |

inline static noexcept

Increments a pointer until it points to the first non-whitespace character in a string.

If the string contains only whitespace, the pointer will point to the string's null terminator.

Definition at line 807 of file juce_CharacterFunctions.h.

Referenced by findEndOfWhitespace(), juce::CharPointer_ASCII::incrementToEndOfWhitespace(), juce::CharPointer_UTF16::incrementToEndOfWhitespace(), juce::CharPointer_UTF32::incrementToEndOfWhitespace(), and juce::CharPointer_UTF8::incrementToEndOfWhitespace().

## indexOf()

template<typename CharPointerType1, typename CharPointerType2>

int juce::CharacterFunctions::indexOf | ( | CharPointerType1 | textToSearch,
|  | const CharPointerType2 | substringToLookFor )

inline static noexcept

Finds the character index of a given substring in another string. Returns -1 if the substring is not found.

Definition at line 686 of file juce_CharacterFunctions.h.

Referenced by juce::CharPointer_ASCII::indexOf(), juce::CharPointer_UTF16::indexOf(), juce::CharPointer_UTF32::indexOf(), and juce::CharPointer_UTF8::indexOf().

## indexOfChar()

template<typename Type>

int juce::CharacterFunctions::indexOfChar | ( | Type | text,
|  | const juce_wchar | charToFind )

inline static noexcept

Finds the character index of a given character in another string. Returns -1 if the character is not found.

Definition at line 763 of file juce_CharacterFunctions.h.

Referenced by juce::CharPointer_ASCII::indexOf(), juce::CharPointer_UTF16::indexOf(), juce::CharPointer_UTF16::indexOf(), juce::CharPointer_UTF32::indexOf(), juce::CharPointer_UTF8::indexOf(), and juce::CharPointer_UTF8::indexOf().

## indexOfCharIgnoreCase()

template<typename Type>

int juce::CharacterFunctions::indexOfCharIgnoreCase | ( | Type | text,
|  | juce_wchar | charToFind )

inline static noexcept

Finds the character index of a given character in another string, using a case-independent match. Returns -1 if the character is not found.

Definition at line 783 of file juce_CharacterFunctions.h.

Referenced by juce::CharPointer_ASCII::indexOf(), juce::CharPointer_UTF16::indexOf(), juce::CharPointer_UTF32::indexOf(), and juce::CharPointer_UTF8::indexOf().

## indexOfIgnoreCase()

template<typename CharPointerType1, typename CharPointerType2>

int juce::CharacterFunctions::indexOfIgnoreCase | ( | CharPointerType1 | haystack,
|  | const CharPointerType2 | needle )

inline static noexcept

Finds the character index of a given substring in another string, using a case-independent match. Returns -1 if the substring is not found.

Definition at line 742 of file juce_CharacterFunctions.h.

Referenced by juce::String::indexOfIgnoreCase(), and juce::String::indexOfIgnoreCase().

## isDigit() [1/2]

bool juce::CharacterFunctions::isDigit | ( | char | character | ) |

static noexcept

Checks whether a character is a digit.

Definition at line 69 of file juce_CharacterFunctions.cpp.

Referenced by juce::File::getNonexistentChildFile(), juce::CharPointer_ASCII::isDigit(), juce::CharPointer_UTF16::isDigit(), and juce::CharPointer_UTF32::isDigit().

## isDigit() [2/2]

bool juce::CharacterFunctions::isDigit | ( | juce_wchar | character | ) |

static noexcept

Checks whether a character is a digit.

Definition at line 74 of file juce_CharacterFunctions.cpp.

## isLetter() [1/2]

bool juce::CharacterFunctions::isLetter | ( | char | character | ) |

static noexcept

Checks whether a character is alphabetic.

Definition at line 79 of file juce_CharacterFunctions.cpp.

Referenced by juce::CharPointer_ASCII::isLetter(), juce::CharPointer_UTF16::isLetter(), juce::CharPointer_UTF32::isLetter(), and juce::CharPointer_UTF8::isLetter().

## isLetter() [2/2]

bool juce::CharacterFunctions::isLetter | ( | juce_wchar | character | ) |

static noexcept

Checks whether a character is alphabetic.

Definition at line 85 of file juce_CharacterFunctions.cpp.

## isLetterOrDigit() [1/2]

bool juce::CharacterFunctions::isLetterOrDigit | ( | char | character | ) |

static noexcept

Checks whether a character is alphabetic or numeric.

Definition at line 90 of file juce_CharacterFunctions.cpp.

Referenced by juce::URL::addEscapeChars(), juce::CharPointer_ASCII::isLetterOrDigit(), juce::CharPointer_UTF16::isLetterOrDigit(), juce::CharPointer_UTF32::isLetterOrDigit(), and juce::CharPointer_UTF8::isLetterOrDigit().

## isLetterOrDigit() [2/2]

bool juce::CharacterFunctions::isLetterOrDigit | ( | juce_wchar | character | ) |

static noexcept

Checks whether a character is alphabetic or numeric.

Definition at line 97 of file juce_CharacterFunctions.cpp.

## isLowerCase()

bool juce::CharacterFunctions::isLowerCase | ( | juce_wchar | character | ) |

static noexcept

Checks whether a unicode character is lower-case.

Definition at line 47 of file juce_CharacterFunctions.cpp.

Referenced by juce::CharPointer_ASCII::isLowerCase(), juce::CharPointer_UTF16::isLowerCase(), juce::CharPointer_UTF32::isLowerCase(), and juce::CharPointer_UTF8::isLowerCase().

## isPrintable() [1/2]

bool juce::CharacterFunctions::isPrintable | ( | char | character | ) |

static noexcept

Checks whether a character is a printable character, i.e. alphabetic, numeric, a punctuation character or a space.

Definition at line 102 of file juce_CharacterFunctions.cpp.

## isPrintable() [2/2]

bool juce::CharacterFunctions::isPrintable | ( | juce_wchar | character | ) |

static noexcept

Checks whether a character is a printable character, i.e. alphabetic, numeric, a punctuation character or a space.

Definition at line 107 of file juce_CharacterFunctions.cpp.

## isUpperCase()

bool juce::CharacterFunctions::isUpperCase | ( | juce_wchar | character | ) |

static noexcept

Checks whether a unicode character is upper-case.

Definition at line 38 of file juce_CharacterFunctions.cpp.

Referenced by juce::CharPointer_ASCII::isUpperCase(), juce::CharPointer_UTF16::isUpperCase(), juce::CharPointer_UTF32::isUpperCase(), and juce::CharPointer_UTF8::isUpperCase().

## isWhitespace() [1/2]

JUCE_END_IGNORE_WARNINGS_MSVC bool juce::CharacterFunctions::isWhitespace | ( | char | character | ) |

static noexcept

Checks whether a character is whitespace.

Definition at line 59 of file juce_CharacterFunctions.cpp.

Referenced by juce::CharPointer_ASCII::isWhitespace(), juce::CharPointer_UTF16::isWhitespace(), juce::CharPointer_UTF32::isWhitespace(), and juce::CharPointer_UTF8::isWhitespace().

## isWhitespace() [2/2]

bool juce::CharacterFunctions::isWhitespace | ( | juce_wchar | character | ) |

static noexcept

Checks whether a character is whitespace.

Definition at line 64 of file juce_CharacterFunctions.cpp.

## lengthUpTo() [1/2]

template<typename CharPointerType>

size_t juce::CharacterFunctions::lengthUpTo | ( | CharPointerType | start,
|  | const CharPointerType | end )

inline static noexcept

Counts the number of characters in a given string, stopping if the count exceeds a specified end-pointer.

Definition at line 530 of file juce_CharacterFunctions.h.

## lengthUpTo() [2/2]

template<typename CharPointerType>

size_t juce::CharacterFunctions::lengthUpTo | ( | CharPointerType | text,
|  | const size_t | maxCharsToCount )

inline static noexcept

Counts the number of characters in a given string, stopping if the count exceeds a specified limit.

Definition at line 517 of file juce_CharacterFunctions.h.

Referenced by juce::CharPointer_ASCII::lengthUpTo(), juce::CharPointer_ASCII::lengthUpTo(), juce::CharPointer_UTF16::lengthUpTo(), juce::CharPointer_UTF16::lengthUpTo(), juce::CharPointer_UTF32::lengthUpTo(), juce::CharPointer_UTF32::lengthUpTo(), juce::CharPointer_UTF8::lengthUpTo(), and juce::CharPointer_UTF8::lengthUpTo().

## readDoubleValue()

template<typename CharPointerType>

double juce::CharacterFunctions::readDoubleValue | ( | CharPointerType & | text | ) |

inline static noexcept

Parses a character string to read a floating-point number. Note that this will advance the pointer that is passed in, leaving it at the end of the number.

Definition at line 147 of file juce_CharacterFunctions.h.

Referenced by getDoubleValue().

## toLowerCase()

juce_wchar juce::CharacterFunctions::toLowerCase | ( | juce_wchar | character | ) |

static noexcept

Converts a character to lower-case.

Definition at line 33 of file juce_CharacterFunctions.cpp.

Referenced by juce::File::getRelativePathFrom(), indexOfCharIgnoreCase(), isUpperCase(), juce::CharPointer_ASCII::toLowerCase(), juce::CharPointer_UTF16::toLowerCase(), juce::CharPointer_UTF32::toLowerCase(), and juce::CharPointer_UTF8::toLowerCase().

## toUpperCase()

juce_wchar juce::CharacterFunctions::toUpperCase | ( | juce_wchar | character | ) |

static noexcept

Converts a character to upper-case.

Definition at line 28 of file juce_CharacterFunctions.cpp.

Referenced by compareIgnoreCase(), isLowerCase(), toUpperCase(), juce::CharPointer_ASCII::toUpperCase(), juce::CharPointer_UTF16::toUpperCase(), juce::CharPointer_UTF32::toUpperCase(), and juce::CharPointer_UTF8::toUpperCase().

The documentation for this class was generated from the following files:

- juce_CharacterFunctions.h
- juce_CharacterFunctions.cpp