Poco

class Ascii

File Information

Library: Foundation
Package: Core
Header: Poco/Ascii.h

Description

This class contains enumerations and static utility functions for dealing with ASCII characters and their properties.

The classification functions will also work if non-ASCII character codes are passed to them, but classification will only check for ASCII characters.

This allows the classification methods to be used on the single bytes of a UTF-8 string, without causing assertions or inconsistent results (depending upon the current locale) on bytes outside the ASCII range, as may be produced by Ascii::isSpace(), etc.

Member Summary

Member Functions: hasProperties, hasSomeProperties, isAlpha, isAlphaNumeric, isAscii, isDigit, isHexDigit, isLower, isPrintable, isPunct, isSpace, isUpper, properties, toLower, toUpper

Enumerations

CharacterProperties

ASCII character properties.

ACP_CONTROL = 0x0001

ACP_SPACE = 0x0002

ACP_PUNCT = 0x0004

ACP_DIGIT = 0x0008

ACP_HEXDIGIT = 0x0010

ACP_ALPHA = 0x0020

ACP_LOWER = 0x0040

ACP_UPPER = 0x0080

ACP_GRAPH = 0x0100

ACP_PRINT = 0x0200

Member Functions

hasProperties static inline

static bool hasProperties(
    int ch,
    int properties
);

Returns true if the given character is within the ASCII range and has all of the given properties.

hasSomeProperties static inline

static bool hasSomeProperties(
    int ch,
    int properties
);

Returns true if the given character is within the ASCII range and has at least one of the given properties.

isAlpha static inline

static bool isAlpha(
    int ch
);

Returns true if and only if the given character is an alphabetic character.

isAlphaNumeric static inline

static bool isAlphaNumeric(
    int ch
);

Returns true if and only if the given character is an alphabetic character.

isAscii static inline

static bool isAscii(
    int ch
);

Returns true if and only if the given character code is within the ASCII range (0 .. 127).

isDigit static inline

static bool isDigit(
    int ch
);

Returns true if and only if the given character is a digit.

isHexDigit static inline

static bool isHexDigit(
    int ch
);

Returns true if and only if the given character is a hexadecimal digit.

isLower static inline

static bool isLower(
    int ch
);

Returns true if and only if the given character is a lowercase alphabetic character.

isPrintable static inline

static bool isPrintable(
    int ch
);

Returns true if and only if the given character is printable.

isPunct static inline

static bool isPunct(
    int ch
);

Returns true if and only if the given character is a punctuation character.

isSpace static inline

static bool isSpace(
    int ch
);

Returns true if and only if the given character is a whitespace.

isUpper static inline

static bool isUpper(
    int ch
);

Returns true if and only if the given character is an uppercase alphabetic character.

properties static inline

static int properties(
    int ch
);

Return the ASCII character properties for the character with the given ASCII value.

If the character is outside the ASCII range (0 .. 127), 0 is returned.

toLower static inline

static int toLower(
    int ch
);

If the given character is an uppercase character, return its lowercase counterpart, otherwise return the character.

toUpper static inline

static int toUpper(
    int ch
);

If the given character is a lowercase character, return its uppercase counterpart, otherwise return the character.