JUCE: CharacterFunctions Class Reference

JUCE

- Main Page
- Related Pages
- Topics
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Loading...
Searching...
No Matches
Classes | Static Public Member Functions | List of all members
CharacterFunctions Class Reference
juce_core » text

A collection of functions for manipulating characters and character strings. More...

`#include <juce_CharacterFunctions.h>`

## Classes
struct | HexParser
| Parses a character string, to read a hexadecimal value. More...

## Static Public Member Functions
static juce_wchar | toUpperCase (juce_wchar character) noexcept
| Converts a character to upper-case.
static juce_wchar | toLowerCase (juce_wchar character) noexcept
| Converts a character to lower-case.
static bool | isUpperCase (juce_wchar character) noexcept
| Checks whether a unicode character is upper-case.
static bool | isLowerCase (juce_wchar character) noexcept
| Checks whether a unicode character is lower-case.
static bool | isWhitespace (char character) noexcept
| Checks whether a character is whitespace.
static bool | isWhitespace (juce_wchar character) noexcept
| Checks whether a character is whitespace.
static bool | isDigit (char character) noexcept
| Checks whether a character is a digit.
static bool | isDigit (juce_wchar character) noexcept
| Checks whether a character is a digit.
static bool | isLetter (char character) noexcept
| Checks whether a character is alphabetic.
static bool | isLetter (juce_wchar character) noexcept
| Checks whether a character is alphabetic.
static bool | isLetterOrDigit (char character) noexcept
| Checks whether a character is alphabetic or numeric.
static bool | isLetterOrDigit (juce_wchar character) noexcept
| Checks whether a character is alphabetic or numeric.
static bool | isPrintable (char character) noexcept
| Checks whether a character is a printable character, i.e.
static bool | isPrintable (juce_wchar character) noexcept
| Checks whether a character is a printable character, i.e.
static int | getHexDigitValue (juce_wchar digit) noexcept
| Returns 0 to 16 for '0' to 'F", or -1 for characters that aren't a legal hex digit.
static juce_wchar | getUnicodeCharFromWindows1252Codepage (uint8 windows1252Char) noexcept
| Converts a byte of Windows 1252 codepage to unicode.
template<typename CharPointerType >
static double | readDoubleValue (CharPointerType &text) noexcept
| Parses a character string to read a floating-point number.
template<typename CharPointerType >
static double | getDoubleValue (CharPointerType text) noexcept
| Parses a character string, to read a floating-point value.
template<typename IntType , typename CharPointerType >
static IntType | getIntValue (const CharPointerType text) noexcept
| Parses a character string, to read an integer value.
template<typename CharPointerType >
static size_t | lengthUpTo (CharPointerType text, const size_t maxCharsToCount) noexcept
| Counts the number of characters in a given string, stopping if the count exceeds a specified limit.
template<typename CharPointerType >
static size_t | lengthUpTo (CharPointerType start, const CharPointerType end) noexcept
| Counts the number of characters in a given string, stopping if the count exceeds a specified end-pointer.
template<typename DestCharPointerType , typename SrcCharPointerType >
static void | copyAll (DestCharPointerType &dest, SrcCharPointerType src) noexcept
| Copies null-terminated characters from one string to another.
template<typename DestCharPointerType , typename SrcCharPointerType >
static size_t | copyWithDestByteLimit (DestCharPointerType &dest, SrcCharPointerType src, size_t maxBytesToWrite) noexcept
| Copies characters from one string to another, up to a null terminator or a given byte size limit.
template<typename DestCharPointerType , typename SrcCharPointerType >
static void | copyWithCharLimit (DestCharPointerType &dest, SrcCharPointerType src, int maxChars) noexcept
| Copies characters from one string to another, up to a null terminator or a given maximum number of characters.
static int | compare (juce_wchar char1, juce_wchar char2) noexcept
| Compares two characters.
template<typename CharPointerType1 , typename CharPointerType2 >
static int | compare (CharPointerType1 s1, CharPointerType2 s2) noexcept
| Compares two null-terminated character strings.
template<typename CharPointerType1 , typename CharPointerType2 >
static int | compareUpTo (CharPointerType1 s1, CharPointerType2 s2, int maxChars) noexcept
| Compares two null-terminated character strings, up to a given number of characters.
static int | compareIgnoreCase (juce_wchar char1, juce_wchar char2) noexcept
| Compares two characters, using a case-independant match.
template<typename CharPointerType1 , typename CharPointerType2 >
static int | compareIgnoreCase (CharPointerType1 s1, CharPointerType2 s2) noexcept
| Compares two null-terminated character strings, using a case-independant match.
template<typename CharPointerType1 , typename CharPointerType2 >
static int | compareIgnoreCaseUpTo (CharPointerType1 s1, CharPointerType2 s2, int maxChars) noexcept
| Compares two null-terminated character strings, using a case-independent match.
template<typename CharPointerType1 , typename CharPointerType2 >
static int | indexOf (CharPointerType1 textToSearch, const CharPointerType2 substringToLookFor) noexcept
| Finds the character index of a given substring in another string.
template<typename CharPointerType1 , typename CharPointerType2 >
static CharPointerType1 | find (CharPointerType1 textToSearch, const CharPointerType2 substringToLookFor) noexcept
| Returns a pointer to the first occurrence of a substring in a string.
template<typename CharPointerType >
static CharPointerType | find (CharPointerType textToSearch, const juce_wchar charToLookFor) noexcept
| Returns a pointer to the first occurrence of a substring in a string.
template<typename CharPointerType1 , typename CharPointerType2 >
static int | indexOfIgnoreCase (CharPointerType1 haystack, const CharPointerType2 needle) noexcept
| Finds the character index of a given substring in another string, using a case-independent match.
template<typename Type >
static int | indexOfChar (Type text, const juce_wchar charToFind) noexcept
| Finds the character index of a given character in another string.
template<typename Type >
static int | indexOfCharIgnoreCase (Type text, juce_wchar charToFind) noexcept
| Finds the character index of a given character in another string, using a case-independent match.
template<typename Type >
static void | incrementToEndOfWhitespace (Type &text) noexcept
| Increments a pointer until it points to the first non-whitespace character in a string.
template<typename Type >
static Type | findEndOfWhitespace (Type text) noexcept
| Returns a pointer to the first non-whitespace character in a string.
template<typename Type , typename BreakType >
static Type | findEndOfToken (Type text, BreakType breakCharacters, Type quoteCharacters)
| Returns a pointer to the first character in the string which is found in the breakCharacters string.

## 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

## Member Function Documentation

## ◆ toUpperCase()

static juce_wchar CharacterFunctions::toUpperCase | ( | juce_wchar | character | ) |
| staticnoexcept

Converts a character to upper-case.

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

## ◆ toLowerCase()

static juce_wchar CharacterFunctions::toLowerCase | ( | juce_wchar | character | ) |
| staticnoexcept

Converts a character to lower-case.

Referenced by indexOfCharIgnoreCase(), CharPointer_ASCII::toLowerCase(), CharPointer_UTF16::toLowerCase(), CharPointer_UTF32::toLowerCase(), and CharPointer_UTF8::toLowerCase().

## ◆ isUpperCase()

static bool CharacterFunctions::isUpperCase | ( | juce_wchar | character | ) |
| staticnoexcept

Checks whether a unicode character is upper-case.

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

## ◆ isLowerCase()

static bool CharacterFunctions::isLowerCase | ( | juce_wchar | character | ) |
| staticnoexcept

Checks whether a unicode character is lower-case.

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

## ◆ isWhitespace() [1/2]

static bool CharacterFunctions::isWhitespace | ( | char | character | ) |
| staticnoexcept

Checks whether a character is whitespace.

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

## ◆ isWhitespace() [2/2]

static bool CharacterFunctions::isWhitespace | ( | juce_wchar | character | ) |
| staticnoexcept

Checks whether a character is whitespace.

## ◆ isDigit() [1/2]

static bool CharacterFunctions::isDigit | ( | char | character | ) |
| staticnoexcept

Checks whether a character is a digit.

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

## ◆ isDigit() [2/2]

static bool CharacterFunctions::isDigit | ( | juce_wchar | character | ) |
| staticnoexcept

Checks whether a character is a digit.

## ◆ isLetter() [1/2]

static bool CharacterFunctions::isLetter | ( | char | character | ) |
| staticnoexcept

Checks whether a character is alphabetic.

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

## ◆ isLetter() [2/2]

static bool CharacterFunctions::isLetter | ( | juce_wchar | character | ) |
| staticnoexcept

Checks whether a character is alphabetic.

## ◆ isLetterOrDigit() [1/2]

static bool CharacterFunctions::isLetterOrDigit | ( | char | character | ) |
| staticnoexcept

Checks whether a character is alphabetic or numeric.

Referenced by CppTokeniserFunctions::isIdentifierBody(), CharPointer_ASCII::isLetterOrDigit(), CharPointer_UTF32::isLetterOrDigit(), CharPointer_UTF16::isLetterOrDigit(), CharPointer_UTF8::isLetterOrDigit(), and CppTokeniserFunctions::skipNumberSuffix().

## ◆ isLetterOrDigit() [2/2]

static bool CharacterFunctions::isLetterOrDigit | ( | juce_wchar | character | ) |
| staticnoexcept

Checks whether a character is alphabetic or numeric.

## ◆ isPrintable() [1/2]

static bool CharacterFunctions::isPrintable | ( | char | character | ) |
| staticnoexcept

Checks whether a character is a printable character, i.e.

alphabetic, numeric, a punctuation character or a space.

## ◆ isPrintable() [2/2]

static bool CharacterFunctions::isPrintable | ( | juce_wchar | character | ) |
| staticnoexcept

Checks whether a character is a printable character, i.e.

alphabetic, numeric, a punctuation character or a space.

## ◆ getHexDigitValue()

static int CharacterFunctions::getHexDigitValue | ( | juce_wchar | digit | ) |
| staticnoexcept

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

Referenced by CharacterFunctions::HexParser< ResultType >::parse(), and CppTokeniserFunctions::writeEscapeChars().

## ◆ getUnicodeCharFromWindows1252Codepage()

static juce_wchar CharacterFunctions::getUnicodeCharFromWindows1252Codepage | ( | uint8 | windows1252Char | ) |
| staticnoexcept

Converts a byte of Windows 1252 codepage to unicode.

## ◆ readDoubleValue()

template<typename CharPointerType >

static double CharacterFunctions::readDoubleValue | ( | CharPointerType & | text | ) |
| staticnoexcept

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.

References JUCE_FALLTHROUGH.

## ◆ getDoubleValue()

template<typename CharPointerType >

static double CharacterFunctions::getDoubleValue | ( | CharPointerType | text | ) |
| staticnoexcept

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

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

## ◆ getIntValue()

template<typename IntType , typename CharPointerType >

static IntType CharacterFunctions::getIntValue | ( | const CharPointerType | text | ) |
| staticnoexcept

Parses a character string, to read an integer value.

## ◆ lengthUpTo() [1/2]

template<typename CharPointerType >

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

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

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

## ◆ lengthUpTo() [2/2]

template<typename CharPointerType >

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

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

References end().

## ◆ copyAll()

template<typename DestCharPointerType , typename SrcCharPointerType >

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

Copies null-terminated characters from one string to another.

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

## ◆ copyWithDestByteLimit()

template<typename DestCharPointerType , typename SrcCharPointerType >

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

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

References getAddressDifference().

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

## ◆ copyWithCharLimit()

template<typename DestCharPointerType , typename SrcCharPointerType >

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

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

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

## ◆ compare() [1/2]

static int CharacterFunctions::compare | ( | juce_wchar | char1,
|  | juce_wchar | char2
| ) |  |
| staticnoexcept

Compares two characters.

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

## ◆ compare() [2/2]

template<typename CharPointerType1 , typename CharPointerType2 >

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

Compares two null-terminated character strings.

## ◆ compareUpTo()

template<typename CharPointerType1 , typename CharPointerType2 >

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

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

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

## ◆ compareIgnoreCase() [1/2]

static int CharacterFunctions::compareIgnoreCase | ( | juce_wchar | char1,
|  | juce_wchar | char2
| ) |  |
| staticnoexcept

Compares two characters, using a case-independant match.

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

## ◆ compareIgnoreCase() [2/2]

template<typename CharPointerType1 , typename CharPointerType2 >

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

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

## ◆ compareIgnoreCaseUpTo()

template<typename CharPointerType1 , typename CharPointerType2 >

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

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

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

## ◆ indexOf()

template<typename CharPointerType1 , typename CharPointerType2 >

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

Finds the character index of a given substring in another string.

Returns -1 if the substring is not found.

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

## ◆ find() [1/2]

template<typename CharPointerType1 , typename CharPointerType2 >

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

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.

## ◆ find() [2/2]

template<typename CharPointerType >

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

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.

## ◆ indexOfIgnoreCase()

template<typename CharPointerType1 , typename CharPointerType2 >

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

Finds the character index of a given substring in another string, using a case-independent match.

Returns -1 if the substring is not found.

## ◆ indexOfChar()

template<typename Type >

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

Finds the character index of a given character in another string.

Returns -1 if the character is not found.

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

## ◆ indexOfCharIgnoreCase()

template<typename Type >

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

Finds the character index of a given character in another string, using a case-independent match.

Returns -1 if the character is not found.

References toLowerCase().

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

## ◆ incrementToEndOfWhitespace()

template<typename Type >

static void CharacterFunctions::incrementToEndOfWhitespace | ( | Type & | text | ) |
| staticnoexcept

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.

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

## ◆ findEndOfWhitespace()

template<typename Type >

static Type CharacterFunctions::findEndOfWhitespace | ( | Type | text | ) |
| staticnoexcept

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.

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

## ◆ findEndOfToken()

template<typename Type , typename BreakType >

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

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

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

- juce_CharacterFunctions.h