⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 svn_ctype.h

📁 subversion-1.4.3-1.tar.gz 配置svn的源码
💻 H
字号:
/** * @copyright * ==================================================================== * Copyright (c) 2000-2004 CollabNet.  All rights reserved. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution.  The terms * are also available at http://subversion.tigris.org/license-1.html. * If newer versions of this license are posted there, you may use a * newer version instead, at your option. * * This software consists of voluntary contributions made by many * individuals.  For exact contribution history, see the revision * history and logs, available at http://subversion.tigris.org/. * ==================================================================== * @endcopyright * * @file svn_ctype.h * @brief Character classification routines * @since New in 1.2. */#ifndef SVN_CTYPE_H#define SVN_CTYPE_H#include <apr.h>#ifdef __cplusplusextern "C" {#endif /* __cplusplus *//** Table of flags for character classification. */extern const apr_uint32_t *const svn_ctype_table;/** Check if @a c is in the character class described by @a flags. * The @a flags is a bitwise-or combination of @c SVN_CTYPE_* * constants. Uses #svn_ctype_table. */#define svn_ctype_test(c, flags) \  (0 != (svn_ctype_table[(unsigned char)(c)] & (flags)))/** * @defgroup ctype_basic Basic character classification - 7-bit ASCII only * @{ *//* Basic character classes */#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*//* Derived character classes *//** ASCII letter */#define SVN_CTYPE_ALPHA    (SVN_CTYPE_LOWER | SVN_CTYPE_UPPER)/** ASCII letter or decimal digit */#define SVN_CTYPE_ALNUM    (SVN_CTYPE_ALPHA | SVN_CTYPE_DIGIT)/** ASCII hexadecimal digit */#define SVN_CTYPE_XDIGIT   (SVN_CTYPE_DIGIT | SVN_CTYPE_XALPHA)/** Printable ASCII except space */#define SVN_CTYPE_GRAPH    (SVN_CTYPE_PUNCT | SVN_CTYPE_ALNUM)/** All printable ASCII */#define SVN_CTYPE_PRINT    (SVN_CTYPE_GRAPH | SVN_CTYPE_SPACE)/** Check if @a c is an ASCII control character. */#define svn_ctype_iscntrl(c)  svn_ctype_test((c), SVN_CTYPE_CNTRL)/** Check if @a c is an ASCII whitespace character. */#define svn_ctype_isspace(c)  svn_ctype_test((c), SVN_CTYPE_SPACE)/** Check if @a c is an ASCII digit. */#define svn_ctype_isdigit(c)  svn_ctype_test((c), SVN_CTYPE_DIGIT)/** Check if @a c is an ASCII uppercase letter. */#define svn_ctype_isupper(c)  svn_ctype_test((c), SVN_CTYPE_UPPER)/** Check if @a c is an ASCII lowercase letter. */#define svn_ctype_islower(c)  svn_ctype_test((c), SVN_CTYPE_LOWER)/** Check if @a c is an ASCII punctuation mark. */#define svn_ctype_ispunct(c)  svn_ctype_test((c), SVN_CTYPE_PUNCT)/** Check if @a c is an ASCII character. */#define svn_ctype_isascii(c)  svn_ctype_test((c), SVN_CTYPE_ASCII)/** Check if @a c is an ASCII letter. */#define svn_ctype_isalpha(c)  svn_ctype_test((c), SVN_CTYPE_ALPHA)/** Check if @a c is an ASCII letter or decimal digit. */#define svn_ctype_isalnum(c)  svn_ctype_test((c), SVN_CTYPE_ALNUM)/** Check if @a c is an ASCII hexadecimal digit. */#define svn_ctype_isxdigit(c) svn_ctype_test((c), SVN_CTYPE_XDIGIT)/** Check if @a c is an ASCII graphical (visible printable) character. */#define svn_ctype_isgraph(c)  svn_ctype_test((c), SVN_CTYPE_GRAPH)/** Check if @a c is an ASCII printable character. */#define svn_ctype_isprint(c)  svn_ctype_test((c), SVN_CTYPE_PRINT)/** @} *//** * @defgroup ctype_extra Extended character classification * @{ *//* Basic extended character classes */#define SVN_CTYPE_UTF8LEAD 0x0100 /**< UTF-8 multibyte lead byte */#define SVN_CTYPE_UTF8CONT 0x0200 /**< UTF-8 multibyte non-lead byte *//* ### TBD#define SVN_CTYPE_XMLNAME  0x0400#define SVN_CTYPE_URISAFE  0x0800*//* Derived extended character classes *//** Part of a UTF-8 multibyte character. */#define SVN_CTYPE_UTF8MBC  (SVN_CTYPE_UTF8LEAD | SVN_CTYPE_UTF8CONT)/** All valid UTF-8 bytes. */#define SVN_CTYPE_UTF8     (SVN_CTYPE_ASCII | SVN_CTYPE_UTF8MBC)/** Check if @a c is a UTF-8 multibyte lead byte. */#define svn_ctype_isutf8lead(c) svn_ctype_test((c), SVN_CTYPE_UTF8LEAD)/** Check if @a c is a UTF-8 multibyte continuation (non-lead) byte. */#define svn_ctype_isutf8cont(c) svn_ctype_test((c), SVN_CTYLE_UTF8CONT)/** Check if @a c is part of a UTF-8 multibyte character. */#define svn_ctype_isutf8mbc(c)  svn_ctype_test((c), SVN_CTYPE_UTF8MBC)/** Check if @a c is valid in UTF-8. */#define svn_ctype_isutf8(c)     svn_ctype_test((c), SVN_CTYPE_UTF8)/** @} *//** * @defgroup ctype_ascii ASCII character value constants * @{ */#define SVN_CTYPE_ASCII_MINUS            45 /**< ASCII value of '-' */#define SVN_CTYPE_ASCII_DOT              46 /**< ASCII value of '.' */#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 *//** @} */#ifdef __cplusplus}#endif /* __cplusplus */#endif /* SVN_CTYPE_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -