class Poco::Ascii

Overview

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

#include <Ascii.h>

class Ascii
{
public:
    // enums

    enum CharacterProperties;

    // methods

    static
    int
    properties(int ch);

    static
    bool
    hasSomeProperties(
        int ch,
        int properties
        );

    static
    bool
    hasProperties(
        int ch,
        int properties
        );

    static
    bool
    isAscii(int ch);

    static
    bool
    isSpace(int ch);

    static
    bool
    isDigit(int ch);

    static
    bool
    isHexDigit(int ch);

    static
    bool
    isPunct(int ch);

    static
    bool
    isAlpha(int ch);

    static
    bool
    isAlphaNumeric(int ch);

    static
    bool
    isLower(int ch);

    static
    bool
    isUpper(int ch);

    static
    int
    toLower(int ch);

    static
    int
    toUpper(int ch);
};

Detailed Documentation

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.

Methods

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.

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.

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.

static
bool
isAscii(int ch)

Returns true iff the given character code is within the ASCII range (0 .

. 127).

static
bool
isSpace(int ch)

Returns true iff the given character is a whitespace.

static
bool
isDigit(int ch)

Returns true iff the given character is a digit.

static
bool
isHexDigit(int ch)

Returns true iff the given character is a hexadecimal digit.

static
bool
isPunct(int ch)

Returns true iff the given character is a punctuation character.

static
bool
isAlpha(int ch)

Returns true iff the given character is an alphabetic character.

static
bool
isAlphaNumeric(int ch)

Returns true iff the given character is an alphabetic character.

static
bool
isLower(int ch)

Returns true iff the given character is a lowercase alphabetic character.

static
bool
isUpper(int ch)

Returns true iff the given character is an uppercase alphabetic character.

static
int
toLower(int ch)

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

static
int
toUpper(int ch)

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