bytes_methods.h revision cac7af6863a997376bffe00ecf07a62c5618a5d9
11a6387e68300b6f554f4f4f044491b7034733442Christian Heimes#ifndef Py_BYTES_CTYPE_H 21a6387e68300b6f554f4f4f044491b7034733442Christian Heimes#define Py_BYTES_CTYPE_H 31a6387e68300b6f554f4f4f044491b7034733442Christian Heimes 41a6387e68300b6f554f4f4f044491b7034733442Christian Heimes/* 51a6387e68300b6f554f4f4f044491b7034733442Christian Heimes * The internal implementation behind PyString (bytes) and PyBytes (buffer) 61a6387e68300b6f554f4f4f044491b7034733442Christian Heimes * methods of the given names, they operate on ASCII byte strings. 71a6387e68300b6f554f4f4f044491b7034733442Christian Heimes */ 81a6387e68300b6f554f4f4f044491b7034733442Christian Heimesextern PyObject* _Py_bytes_isspace(const char *cptr, Py_ssize_t len); 91a6387e68300b6f554f4f4f044491b7034733442Christian Heimesextern PyObject* _Py_bytes_isalpha(const char *cptr, Py_ssize_t len); 101a6387e68300b6f554f4f4f044491b7034733442Christian Heimesextern PyObject* _Py_bytes_isalnum(const char *cptr, Py_ssize_t len); 111a6387e68300b6f554f4f4f044491b7034733442Christian Heimesextern PyObject* _Py_bytes_isdigit(const char *cptr, Py_ssize_t len); 121a6387e68300b6f554f4f4f044491b7034733442Christian Heimesextern PyObject* _Py_bytes_islower(const char *cptr, Py_ssize_t len); 131a6387e68300b6f554f4f4f044491b7034733442Christian Heimesextern PyObject* _Py_bytes_isupper(const char *cptr, Py_ssize_t len); 141a6387e68300b6f554f4f4f044491b7034733442Christian Heimesextern PyObject* _Py_bytes_istitle(const char *cptr, Py_ssize_t len); 151a6387e68300b6f554f4f4f044491b7034733442Christian Heimes 161a6387e68300b6f554f4f4f044491b7034733442Christian Heimes/* These store their len sized answer in the given preallocated *result arg. */ 171a6387e68300b6f554f4f4f044491b7034733442Christian Heimesextern void _Py_bytes_lower(char *result, const char *cptr, Py_ssize_t len); 181a6387e68300b6f554f4f4f044491b7034733442Christian Heimesextern void _Py_bytes_upper(char *result, const char *cptr, Py_ssize_t len); 191a6387e68300b6f554f4f4f044491b7034733442Christian Heimesextern void _Py_bytes_title(char *result, char *s, Py_ssize_t len); 201a6387e68300b6f554f4f4f044491b7034733442Christian Heimesextern void _Py_bytes_capitalize(char *result, char *s, Py_ssize_t len); 211a6387e68300b6f554f4f4f044491b7034733442Christian Heimesextern void _Py_bytes_swapcase(char *result, char *s, Py_ssize_t len); 221a6387e68300b6f554f4f4f044491b7034733442Christian Heimes 231a6387e68300b6f554f4f4f044491b7034733442Christian Heimes/* Shared __doc__ strings. */ 241a6387e68300b6f554f4f4f044491b7034733442Christian Heimesextern const char _Py_isspace__doc__[]; 251a6387e68300b6f554f4f4f044491b7034733442Christian Heimesextern const char _Py_isalpha__doc__[]; 261a6387e68300b6f554f4f4f044491b7034733442Christian Heimesextern const char _Py_isalnum__doc__[]; 271a6387e68300b6f554f4f4f044491b7034733442Christian Heimesextern const char _Py_isdigit__doc__[]; 281a6387e68300b6f554f4f4f044491b7034733442Christian Heimesextern const char _Py_islower__doc__[]; 291a6387e68300b6f554f4f4f044491b7034733442Christian Heimesextern const char _Py_isupper__doc__[]; 301a6387e68300b6f554f4f4f044491b7034733442Christian Heimesextern const char _Py_istitle__doc__[]; 311a6387e68300b6f554f4f4f044491b7034733442Christian Heimesextern const char _Py_lower__doc__[]; 321a6387e68300b6f554f4f4f044491b7034733442Christian Heimesextern const char _Py_upper__doc__[]; 331a6387e68300b6f554f4f4f044491b7034733442Christian Heimesextern const char _Py_title__doc__[]; 341a6387e68300b6f554f4f4f044491b7034733442Christian Heimesextern const char _Py_capitalize__doc__[]; 351a6387e68300b6f554f4f4f044491b7034733442Christian Heimesextern const char _Py_swapcase__doc__[]; 361a6387e68300b6f554f4f4f044491b7034733442Christian Heimes 37cac7af6863a997376bffe00ecf07a62c5618a5d9Eric Smith/* These are left in for backward compatibility and will be removed 38cac7af6863a997376bffe00ecf07a62c5618a5d9Eric Smith in 2.8/3.2 */ 39cac7af6863a997376bffe00ecf07a62c5618a5d9Eric Smith#define ISLOWER(c) Py_ISLOWER(c) 40cac7af6863a997376bffe00ecf07a62c5618a5d9Eric Smith#define ISUPPER(c) Py_ISUPPER(c) 41cac7af6863a997376bffe00ecf07a62c5618a5d9Eric Smith#define ISALPHA(c) Py_ISALPHA(c) 42cac7af6863a997376bffe00ecf07a62c5618a5d9Eric Smith#define ISDIGIT(c) Py_ISDIGIT(c) 43cac7af6863a997376bffe00ecf07a62c5618a5d9Eric Smith#define ISXDIGIT(c) Py_ISXDIGIT(c) 44cac7af6863a997376bffe00ecf07a62c5618a5d9Eric Smith#define ISALNUM(c) Py_ISALNUM(c) 45cac7af6863a997376bffe00ecf07a62c5618a5d9Eric Smith#define ISSPACE(c) Py_ISSPACE(c) 461a6387e68300b6f554f4f4f044491b7034733442Christian Heimes 471a6387e68300b6f554f4f4f044491b7034733442Christian Heimes#undef islower 481a6387e68300b6f554f4f4f044491b7034733442Christian Heimes#define islower(c) undefined_islower(c) 491a6387e68300b6f554f4f4f044491b7034733442Christian Heimes#undef isupper 501a6387e68300b6f554f4f4f044491b7034733442Christian Heimes#define isupper(c) undefined_isupper(c) 511a6387e68300b6f554f4f4f044491b7034733442Christian Heimes#undef isalpha 521a6387e68300b6f554f4f4f044491b7034733442Christian Heimes#define isalpha(c) undefined_isalpha(c) 531a6387e68300b6f554f4f4f044491b7034733442Christian Heimes#undef isdigit 541a6387e68300b6f554f4f4f044491b7034733442Christian Heimes#define isdigit(c) undefined_isdigit(c) 551a6387e68300b6f554f4f4f044491b7034733442Christian Heimes#undef isxdigit 561a6387e68300b6f554f4f4f044491b7034733442Christian Heimes#define isxdigit(c) undefined_isxdigit(c) 571a6387e68300b6f554f4f4f044491b7034733442Christian Heimes#undef isalnum 581a6387e68300b6f554f4f4f044491b7034733442Christian Heimes#define isalnum(c) undefined_isalnum(c) 591a6387e68300b6f554f4f4f044491b7034733442Christian Heimes#undef isspace 601a6387e68300b6f554f4f4f044491b7034733442Christian Heimes#define isspace(c) undefined_isspace(c) 611a6387e68300b6f554f4f4f044491b7034733442Christian Heimes 62cac7af6863a997376bffe00ecf07a62c5618a5d9Eric Smith/* These are left in for backward compatibility and will be removed 63cac7af6863a997376bffe00ecf07a62c5618a5d9Eric Smith in 2.8/3.2 */ 64cac7af6863a997376bffe00ecf07a62c5618a5d9Eric Smith#define TOLOWER(c) Py_TOLOWER(c) 65cac7af6863a997376bffe00ecf07a62c5618a5d9Eric Smith#define TOUPPER(c) Py_TOUPPER(c) 661a6387e68300b6f554f4f4f044491b7034733442Christian Heimes 671a6387e68300b6f554f4f4f044491b7034733442Christian Heimes#undef tolower 681a6387e68300b6f554f4f4f044491b7034733442Christian Heimes#define tolower(c) undefined_tolower(c) 691a6387e68300b6f554f4f4f044491b7034733442Christian Heimes#undef toupper 701a6387e68300b6f554f4f4f044491b7034733442Christian Heimes#define toupper(c) undefined_toupper(c) 711a6387e68300b6f554f4f4f044491b7034733442Christian Heimes 721a6387e68300b6f554f4f4f044491b7034733442Christian Heimes/* this is needed because some docs are shared from the .o, not static */ 731a6387e68300b6f554f4f4f044491b7034733442Christian Heimes#define PyDoc_STRVAR_shared(name,str) const char name[] = PyDoc_STR(str) 741a6387e68300b6f554f4f4f044491b7034733442Christian Heimes 751a6387e68300b6f554f4f4f044491b7034733442Christian Heimes#endif /* !Py_BYTES_CTYPE_H */ 76