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.
 
#define svn_ctype_isspace(c)   svn_ctype_test((c), SVN_CTYPE_SPACE)
 Check if c is an ASCII whitespace character.
 
#define svn_ctype_isdigit(c)   svn_ctype_test((c), SVN_CTYPE_DIGIT)
 Check if c is an ASCII digit.
 
#define svn_ctype_isupper(c)   svn_ctype_test((c), SVN_CTYPE_UPPER)
 Check if c is an ASCII uppercase letter.
 
#define svn_ctype_islower(c)   svn_ctype_test((c), SVN_CTYPE_LOWER)
 Check if c is an ASCII lowercase letter.
 
#define svn_ctype_ispunct(c)   svn_ctype_test((c), SVN_CTYPE_PUNCT)
 Check if c is an ASCII punctuation mark.
 
#define svn_ctype_isascii(c)   svn_ctype_test((c), SVN_CTYPE_ASCII)
 Check if c is an ASCII character.
 
#define svn_ctype_isalpha(c)   svn_ctype_test((c), SVN_CTYPE_ALPHA)
 Check if c is an ASCII letter.
 
#define svn_ctype_isalnum(c)   svn_ctype_test((c), SVN_CTYPE_ALNUM)
 Check if c is an ASCII letter or decimal digit.
 
#define svn_ctype_isxdigit(c)   svn_ctype_test((c), SVN_CTYPE_XDIGIT)
 Check if c is an ASCII hexadecimal digit.
 
#define svn_ctype_isgraph(c)   svn_ctype_test((c), SVN_CTYPE_GRAPH)
 Check if c is an ASCII graphical (visible printable) character.
 
#define svn_ctype_isprint(c)   svn_ctype_test((c), SVN_CTYPE_PRINT)
 Check if c is an ASCII printable character.
 
#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.
 
#define SVN_CTYPE_UTF8   (SVN_CTYPE_ASCII | SVN_CTYPE_UTF8MBC)
 All valid UTF-8 bytes.
 
#define svn_ctype_isutf8lead(c)   svn_ctype_test((c), SVN_CTYPE_UTF8LEAD)
 Check if c is a UTF-8 multibyte lead byte.
 
#define svn_ctype_isutf8cont(c)   svn_ctype_test((c), SVN_CTYLE_UTF8CONT)
 Check if c is a UTF-8 multibyte continuation (non-lead) byte.
 
#define svn_ctype_isutf8mbc(c)   svn_ctype_test((c), SVN_CTYPE_UTF8MBC)
 Check if c is part of a UTF-8 multibyte character.
 
#define svn_ctype_isutf8(c)   svn_ctype_test((c), SVN_CTYPE_UTF8)
 Check if c is valid in UTF-8.
 
#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.
 

Detailed Description

Character classification routines.

@if copyrights

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations

under the License.

Since
New in 1.2.

Definition in file svn_ctype.h.

Macro Definition Documentation

◆ svn_ctype_test

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