1*c2c66affSColin Finck// Standard C string declarations for C++ 2*c2c66affSColin Finck 3*c2c66affSColin Finck// 4*c2c66affSColin Finck// ISO C++ 14882: 20.4.6 C library 5*c2c66affSColin Finck// 6*c2c66affSColin Finck 7*c2c66affSColin Finck#pragma once 8*c2c66affSColin Finck 9*c2c66affSColin Finck#include <cstddef> 10*c2c66affSColin Finck#include <string.h> 11*c2c66affSColin Finck 12*c2c66affSColin Finck// Get rid of those macros defined in <string.h> in lieu of real functions. 13*c2c66affSColin Finck#undef memchr 14*c2c66affSColin Finck#undef memcmp 15*c2c66affSColin Finck#undef memcpy 16*c2c66affSColin Finck#undef memmove 17*c2c66affSColin Finck#undef memset 18*c2c66affSColin Finck#undef strcat 19*c2c66affSColin Finck#undef strchr 20*c2c66affSColin Finck#undef strcmp 21*c2c66affSColin Finck#undef strcoll 22*c2c66affSColin Finck#undef strcpy 23*c2c66affSColin Finck#undef strcspn 24*c2c66affSColin Finck#undef strerror 25*c2c66affSColin Finck#undef strlen 26*c2c66affSColin Finck#undef strncat 27*c2c66affSColin Finck#undef strncmp 28*c2c66affSColin Finck#undef strncpy 29*c2c66affSColin Finck#undef strpbrk 30*c2c66affSColin Finck#undef strrchr 31*c2c66affSColin Finck#undef strspn 32*c2c66affSColin Finck#undef strstr 33*c2c66affSColin Finck#undef strtok 34*c2c66affSColin Finck#undef strxfrm 35*c2c66affSColin Finck 36*c2c66affSColin Fincknamespace std 37*c2c66affSColin Finck{ 38*c2c66affSColin Finck using ::memchr; 39*c2c66affSColin Finck using ::memcmp; 40*c2c66affSColin Finck using ::memcpy; 41*c2c66affSColin Finck using ::memmove; 42*c2c66affSColin Finck using ::memset; 43*c2c66affSColin Finck using ::strcat; 44*c2c66affSColin Finck using ::strcmp; 45*c2c66affSColin Finck using ::strcoll; 46*c2c66affSColin Finck using ::strcpy; 47*c2c66affSColin Finck using ::strcspn; 48*c2c66affSColin Finck using ::strerror; 49*c2c66affSColin Finck using ::strlen; 50*c2c66affSColin Finck using ::strncat; 51*c2c66affSColin Finck using ::strncmp; 52*c2c66affSColin Finck using ::strncpy; 53*c2c66affSColin Finck using ::strspn; 54*c2c66affSColin Finck using ::strtok; 55*c2c66affSColin Finck using ::strxfrm; 56*c2c66affSColin Finck using ::strchr; 57*c2c66affSColin Finck using ::strpbrk; 58*c2c66affSColin Finck using ::strrchr; 59*c2c66affSColin Finck using ::strstr; 60*c2c66affSColin Finck} 61