JUCE  v6.1.6 (6.0.8-1114)
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
juce::CharacterFunctions Class Reference

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

template<typename CharPointerType1 , typename CharPointerType2 >
static int compare (CharPointerType1 s1, CharPointerType2 s2) noexcept
 Compares two null-terminated character strings. More...
 
static int compare (juce_wchar char1, juce_wchar char2) noexcept
 Compares two characters. More...
 
template<typename CharPointerType1 , typename CharPointerType2 >
static int compareIgnoreCase (CharPointerType1 s1, CharPointerType2 s2) noexcept
 Compares two null-terminated character strings, using a case-independant match. More...
 
static int compareIgnoreCase (juce_wchar char1, juce_wchar char2) noexcept
 Compares two characters, using a case-independant match. More...
 
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. More...
 
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. More...
 
template<typename DestCharPointerType , typename SrcCharPointerType >
static void copyAll (DestCharPointerType &dest, SrcCharPointerType src) noexcept
 Copies null-terminated characters from one string to another. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
template<typename Type >
static Type findEndOfWhitespace (Type text) noexcept
 Returns a pointer to the first non-whitespace character in a string. More...
 
template<typename CharPointerType >
static double getDoubleValue (CharPointerType text) noexcept
 Parses a character string, to read a floating-point value. More...
 
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. More...
 
template<typename IntType , typename CharPointerType >
static IntType getIntValue (const CharPointerType text) noexcept
 Parses a character string, to read an integer value. More...
 
static juce_wchar getUnicodeCharFromWindows1252Codepage (uint8 windows1252Char) noexcept
 Converts a byte of Windows 1252 codepage to unicode. More...
 
template<typename Type >
static void incrementToEndOfWhitespace (Type &text) noexcept
 Increments a pointer until it points to the first non-whitespace character in a string. More...
 
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. More...
 
template<typename Type >
static int indexOfChar (Type text, const juce_wchar charToFind) noexcept
 Finds the character index of a given character in another string. More...
 
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. More...
 
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. More...
 
static bool isDigit (char character) noexcept
 Checks whether a character is a digit. More...
 
static bool isDigit (juce_wchar character) noexcept
 Checks whether a character is a digit. More...
 
static bool isLetter (char character) noexcept
 Checks whether a character is alphabetic. More...
 
static bool isLetter (juce_wchar character) noexcept
 Checks whether a character is alphabetic. More...
 
static bool isLetterOrDigit (char character) noexcept
 Checks whether a character is alphabetic or numeric. More...
 
static bool isLetterOrDigit (juce_wchar character) noexcept
 Checks whether a character is alphabetic or numeric. More...
 
static bool isLowerCase (juce_wchar character) noexcept
 Checks whether a unicode character is lower-case. More...
 
static bool isPrintable (char character) noexcept
 Checks whether a character is a printable character, i.e. More...
 
static bool isPrintable (juce_wchar character) noexcept
 Checks whether a character is a printable character, i.e. More...
 
static bool isUpperCase (juce_wchar character) noexcept
 Checks whether a unicode character is upper-case. More...
 
static bool isWhitespace (char character) noexcept
 Checks whether a character is whitespace. More...
 
static bool isWhitespace (juce_wchar character) noexcept
 Checks whether a character is whitespace. More...
 
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. More...
 
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. More...
 
template<typename CharPointerType >
static double readDoubleValue (CharPointerType &text) noexcept
 Parses a character string to read a floating-point number. More...
 
static juce_wchar toLowerCase (juce_wchar character) noexcept
 Converts a character to lower-case. More...
 
static juce_wchar toUpperCase (juce_wchar character) noexcept
 Converts a character to upper-case. More...
 

Static Private Member Functions

static double mulexp10 (double value, int exponent) noexcept
 

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

@tags{Core}

Member Function Documentation

◆ compare() [1/2]

template<typename CharPointerType1 , typename CharPointerType2 >
static int juce::CharacterFunctions::compare ( CharPointerType1  s1,
CharPointerType2  s2 
)
inlinestaticnoexcept

Compares two null-terminated character strings.

References juce::gl::s1.

◆ compare() [2/2]

static int juce::CharacterFunctions::compare ( juce_wchar  char1,
juce_wchar  char2 
)
inlinestaticnoexcept

◆ compareIgnoreCase() [1/2]

template<typename CharPointerType1 , typename CharPointerType2 >
static int juce::CharacterFunctions::compareIgnoreCase ( CharPointerType1  s1,
CharPointerType2  s2 
)
inlinestaticnoexcept

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

References juce::gl::s1.

◆ compareIgnoreCase() [2/2]

static int juce::CharacterFunctions::compareIgnoreCase ( juce_wchar  char1,
juce_wchar  char2 
)
inlinestaticnoexcept

◆ compareIgnoreCaseUpTo()

template<typename CharPointerType1 , typename CharPointerType2 >
static int juce::CharacterFunctions::compareIgnoreCaseUpTo ( CharPointerType1  s1,
CharPointerType2  s2,
int  maxChars 
)
inlinestaticnoexcept

◆ compareUpTo()

template<typename CharPointerType1 , typename CharPointerType2 >
static int juce::CharacterFunctions::compareUpTo ( CharPointerType1  s1,
CharPointerType2  s2,
int  maxChars 
)
inlinestaticnoexcept

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

References juce::gl::s1.

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

◆ copyAll()

template<typename DestCharPointerType , typename SrcCharPointerType >
static void juce::CharacterFunctions::copyAll ( DestCharPointerType &  dest,
SrcCharPointerType  src 
)
inlinestaticnoexcept

◆ copyWithCharLimit()

template<typename DestCharPointerType , typename SrcCharPointerType >
static void juce::CharacterFunctions::copyWithCharLimit ( DestCharPointerType &  dest,
SrcCharPointerType  src,
int  maxChars 
)
inlinestaticnoexcept

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

References juce::gl::c, and juce::gl::src.

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

◆ copyWithDestByteLimit()

template<typename DestCharPointerType , typename SrcCharPointerType >
static size_t juce::CharacterFunctions::copyWithDestByteLimit ( DestCharPointerType &  dest,
SrcCharPointerType  src,
size_t  maxBytesToWrite 
)
inlinestaticnoexcept

◆ find() [1/2]

template<typename CharPointerType >
static CharPointerType juce::CharacterFunctions::find ( CharPointerType  textToSearch,
const juce_wchar  charToLookFor 
)
inlinestaticnoexcept

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.

References juce::gl::c.

◆ find() [2/2]

template<typename CharPointerType1 , typename CharPointerType2 >
static CharPointerType1 juce::CharacterFunctions::find ( CharPointerType1  textToSearch,
const CharPointerType2  substringToLookFor 
)
inlinestaticnoexcept

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.

References int().

◆ findEndOfToken()

template<typename Type , typename BreakType >
static Type juce::CharacterFunctions::findEndOfToken ( Type  text,
BreakType  breakCharacters,
Type  quoteCharacters 
)
inlinestatic

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

References juce::gl::c, juce::String::isEmpty(), and juce::UnitTestCategories::text.

◆ findEndOfWhitespace()

template<typename Type >
static Type juce::CharacterFunctions::findEndOfWhitespace ( Type  text)
inlinestaticnoexcept

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.

References juce::UnitTestCategories::text.

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

◆ getDoubleValue()

template<typename CharPointerType >
static double juce::CharacterFunctions::getDoubleValue ( CharPointerType  text)
inlinestaticnoexcept

◆ getHexDigitValue()

static int juce::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 juce::CharacterFunctions::HexParser< ResultType >::parse(), and juce::CppTokeniserFunctions::writeEscapeChars().

◆ getIntValue()

template<typename IntType , typename CharPointerType >
static IntType juce::CharacterFunctions::getIntValue ( const CharPointerType  text)
inlinestaticnoexcept

Parses a character string, to read an integer value.

References juce::gl::c, juce::gl::s, juce::UnitTestCategories::text, juce::gl::type, and juce::gl::v.

◆ getUnicodeCharFromWindows1252Codepage()

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

Converts a byte of Windows 1252 codepage to unicode.

◆ incrementToEndOfWhitespace()

template<typename Type >
static void juce::CharacterFunctions::incrementToEndOfWhitespace ( Type &  text)
inlinestaticnoexcept

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.

References juce::UnitTestCategories::text.

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

◆ indexOf()

template<typename CharPointerType1 , typename CharPointerType2 >
static int juce::CharacterFunctions::indexOf ( CharPointerType1  textToSearch,
const CharPointerType2  substringToLookFor 
)
inlinestaticnoexcept

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

Returns -1 if the substring is not found.

References juce::gl::index, and int().

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

◆ indexOfChar()

template<typename Type >
static int juce::CharacterFunctions::indexOfChar ( Type  text,
const juce_wchar  charToFind 
)
inlinestaticnoexcept

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

Returns -1 if the character is not found.

References juce::String::isEmpty(), and juce::UnitTestCategories::text.

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

◆ indexOfCharIgnoreCase()

template<typename Type >
static int juce::CharacterFunctions::indexOfCharIgnoreCase ( Type  text,
juce_wchar  charToFind 
)
inlinestaticnoexcept

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 juce::String::isEmpty(), juce::UnitTestCategories::text, toLowerCase(), and juce::String::toLowerCase().

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

◆ indexOfIgnoreCase()

template<typename CharPointerType1 , typename CharPointerType2 >
static int juce::CharacterFunctions::indexOfIgnoreCase ( CharPointerType1  haystack,
const CharPointerType2  needle 
)
inlinestaticnoexcept

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

Returns -1 if the substring is not found.

References juce::gl::index, and int().

◆ isDigit() [1/2]

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

◆ isDigit() [2/2]

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

Checks whether a character is a digit.

◆ isLetter() [1/2]

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

◆ isLetter() [2/2]

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

Checks whether a character is alphabetic.

◆ isLetterOrDigit() [1/2]

◆ isLetterOrDigit() [2/2]

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

Checks whether a character is alphabetic or numeric.

◆ isLowerCase()

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

◆ isPrintable() [1/2]

static bool juce::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 juce::CharacterFunctions::isPrintable ( juce_wchar  character)
staticnoexcept

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

alphabetic, numeric, a punctuation character or a space.

◆ isUpperCase()

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

◆ isWhitespace() [1/2]

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

◆ isWhitespace() [2/2]

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

Checks whether a character is whitespace.

◆ lengthUpTo() [1/2]

template<typename CharPointerType >
static size_t juce::CharacterFunctions::lengthUpTo ( CharPointerType  start,
const CharPointerType  end 
)
inlinestaticnoexcept

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

References juce::end(), juce::gl::len, and juce::gl::start.

◆ lengthUpTo() [2/2]

template<typename CharPointerType >
static size_t juce::CharacterFunctions::lengthUpTo ( CharPointerType  text,
const size_t  maxCharsToCount 
)
inlinestaticnoexcept

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

References juce::gl::len, and juce::UnitTestCategories::text.

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

◆ mulexp10()

static double juce::CharacterFunctions::mulexp10 ( double  value,
int  exponent 
)
staticprivatenoexcept

◆ readDoubleValue()

template<typename CharPointerType >
static double juce::CharacterFunctions::readDoubleValue ( CharPointerType &  text)
inlinestaticnoexcept

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::gl::buffer, juce::gl::c, juce::gl::exponent, int(), JUCE_FALLTHROUGH, juce::gl::r, juce::gl::result, and juce::UnitTestCategories::text.

◆ toLowerCase()

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

◆ toUpperCase()

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

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