Subversion
Macros | Functions | Variables
svn_ctype.h File Reference

Character classification routines. More...

#include <apr.h>

Go to the source code of this file.

Macros

#define svn_ctype_test(c, flags)   (0 != (svn_ctype_table[(unsigned char)(c)] & (flags)))
 Check if c is in the character class described by flags. More...
 
#define SVN_CTYPE_CNTRL   0x0001
 Control character.
 
#define SVN_CTYPE_SPACE   0x0002
 Whitespace.
 
#define SVN_CTYPE_DIGIT   0x0004
 Decimal digit.
 
#define SVN_CTYPE_UPPER   0x0008
 Uppercase letter.
 
#define SVN_CTYPE_LOWER   0x0010
 Lowercase letter.
 
#define SVN_CTYPE_PUNCT   0x0020
 Punctuation mark.
 
#define SVN_CTYPE_XALPHA   0x0040
 Hexadecimal digits A to F.
 
#define SVN_CTYPE_ASCII   0x0080
 ASCII subset.
 
#define SVN_CTYPE_ALPHA   (SVN_CTYPE_LOWER | SVN_CTYPE_UPPER)
 ASCII letter.
 
#define SVN_CTYPE_ALNUM   (SVN_CTYPE_ALPHA | SVN_CTYPE_DIGIT)
 ASCII letter or decimal digit.
 
#define SVN_CTYPE_XDIGIT   (SVN_CTYPE_DIGIT | SVN_CTYPE_XALPHA)
 ASCII hexadecimal digit.
 
#define SVN_CTYPE_GRAPH   (SVN_CTYPE_PUNCT | SVN_CTYPE_ALNUM)
 Printable ASCII except space.
 
#define SVN_CTYPE_PRINT   (SVN_CTYPE_GRAPH | SVN_CTYPE_SPACE)
 All printable ASCII.
 
#define svn_ctype_iscntrl(c)   svn_ctype_test((c), SVN_CTYPE_CNTRL)
 Check if c is an ASCII control character. More...
 
#define svn_ctype_isspace(c)   svn_ctype_test((c), SVN_CTYPE_SPACE)
 Check if c is an ASCII whitespace character. More...
 
#define svn_ctype_isdigit(c)   svn_ctype_test((c), SVN_CTYPE_DIGIT)
 Check if c is an ASCII digit. More...
 
#define svn_ctype_isupper(c)   svn_ctype_test((c), SVN_CTYPE_UPPER)
 Check if c is an ASCII uppercase letter. More...
 
#define svn_ctype_islower(c)   svn_ctype_test((c), SVN_CTYPE_LOWER)
 Check if c is an ASCII lowercase letter. More...
 
#define svn_ctype_ispunct(c)   svn_ctype_test((c), SVN_CTYPE_PUNCT)
 Check if c is an ASCII punctuation mark. More...
 
#define svn_ctype_isascii(c)   svn_ctype_test((c), SVN_CTYPE_ASCII)
 Check if c is an ASCII character. More...
 
#define svn_ctype_isalpha(c)   svn_ctype_test((c), SVN_CTYPE_ALPHA)
 Check if c is an ASCII letter. More...
 
#define svn_ctype_isalnum(c)   svn_ctype_test((c), SVN_CTYPE_ALNUM)
 Check if c is an ASCII letter or decimal digit. More...
 
#define svn_ctype_isxdigit(c)   svn_ctype_test((c), SVN_CTYPE_XDIGIT)
 Check if c is an ASCII hexadecimal digit. More...
 
#define svn_ctype_isgraph(c)   svn_ctype_test((c), SVN_CTYPE_GRAPH)
 Check if c is an ASCII graphical (visible printable) character. More...
 
#define svn_ctype_isprint(c)   svn_ctype_test((c), SVN_CTYPE_PRINT)
 Check if c is an ASCII printable character. More...
 
#define SVN_CTYPE_UTF8LEAD   0x0100
 UTF-8 multibyte lead byte.
 
#define SVN_CTYPE_UTF8CONT   0x0200
 UTF-8 multibyte non-lead byte.
 
#define SVN_CTYPE_UTF8MBC   (SVN_CTYPE_UTF8LEAD | SVN_CTYPE_UTF8CONT)
 Part of a UTF-8 multibyte character. More...
 
#define SVN_CTYPE_UTF8   (SVN_CTYPE_ASCII | SVN_CTYPE_UTF8MBC)
 All valid UTF-8 bytes. More...
 
#define svn_ctype_isutf8lead(c)   svn_ctype_test((c), SVN_CTYPE_UTF8LEAD)
 Check if c is a UTF-8 multibyte lead byte. More...
 
#define svn_ctype_isutf8cont(c)   svn_ctype_test((c), SVN_CTYLE_UTF8CONT)
 Check if c is a UTF-8 multibyte continuation (non-lead) byte. More...
 
#define svn_ctype_isutf8mbc(c)   svn_ctype_test((c), SVN_CTYPE_UTF8MBC)
 Check if c is part of a UTF-8 multibyte character. More...
 
#define svn_ctype_isutf8(c)   svn_ctype_test((c), SVN_CTYPE_UTF8)
 Check if c is valid in UTF-8. More...
 
#define SVN_CTYPE_ASCII_MINUS   45
 ASCII value of '-'.
 
#define SVN_CTYPE_ASCII_DOT   46
 ASCII value of '. More...
 
#define SVN_CTYPE_ASCII_COLON   58
 ASCII value of ':'.
 
#define SVN_CTYPE_ASCII_UNDERSCORE   95
 ASCII value of '_'.
 
#define SVN_CTYPE_ASCII_TAB   9
 ASCII value of a tab.
 
#define SVN_CTYPE_ASCII_LINEFEED   10
 ASCII value of a line feed.
 
#define SVN_CTYPE_ASCII_CARRIAGERETURN   13
 ASCII value of a carriage return.
 
#define SVN_CTYPE_ASCII_DELETE   127
 ASCII value of a delete character.
 

Functions

int svn_ctype_casecmp (int a, int b)
 Compare two characters a and b, treating case-equivalent unaccented Latin (ASCII subset) letters as equal. More...
 

Variables

const apr_uint32_t *const svn_ctype_table
 Table of flags for character classification. More...
 

Detailed Description

Character classification routines.

Since
New in 1.2.

Definition in file svn_ctype.h.

Macro Definition Documentation

#define svn_ctype_test (   c,
  flags 
)    (0 != (svn_ctype_table[(unsigned char)(c)] & (flags)))

Check if c is in the character class described by flags.

The flags is a bitwise-or combination of SVN_CTYPE_* constants. Uses svn_ctype_table.

Definition at line 48 of file svn_ctype.h.

Variable Documentation

const apr_uint32_t* const svn_ctype_table

Table of flags for character classification.