13e519524SHoward Hinnant// -*- C++ -*- 23e519524SHoward Hinnant//===--------------------------- cstring ----------------------------------===// 33e519524SHoward Hinnant// 4*2946cd70SChandler Carruth// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5*2946cd70SChandler Carruth// See https://llvm.org/LICENSE.txt for license information. 6*2946cd70SChandler Carruth// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 73e519524SHoward Hinnant// 83e519524SHoward Hinnant//===----------------------------------------------------------------------===// 93e519524SHoward Hinnant 103e519524SHoward Hinnant#ifndef _LIBCPP_CSTRING 113e519524SHoward Hinnant#define _LIBCPP_CSTRING 123e519524SHoward Hinnant 133e519524SHoward Hinnant/* 143e519524SHoward Hinnant cstring synopsis 153e519524SHoward Hinnant 163e519524SHoward HinnantMacros: 173e519524SHoward Hinnant 183e519524SHoward Hinnant NULL 193e519524SHoward Hinnant 203e519524SHoward Hinnantnamespace std 213e519524SHoward Hinnant{ 223e519524SHoward Hinnant 233e519524SHoward HinnantTypes: 243e519524SHoward Hinnant 253e519524SHoward Hinnant size_t 263e519524SHoward Hinnant 273e519524SHoward Hinnantvoid* memcpy(void* restrict s1, const void* restrict s2, size_t n); 283e519524SHoward Hinnantvoid* memmove(void* s1, const void* s2, size_t n); 293e519524SHoward Hinnantchar* strcpy (char* restrict s1, const char* restrict s2); 303e519524SHoward Hinnantchar* strncpy(char* restrict s1, const char* restrict s2, size_t n); 313e519524SHoward Hinnantchar* strcat (char* restrict s1, const char* restrict s2); 323e519524SHoward Hinnantchar* strncat(char* restrict s1, const char* restrict s2, size_t n); 333e519524SHoward Hinnantint memcmp(const void* s1, const void* s2, size_t n); 343e519524SHoward Hinnantint strcmp (const char* s1, const char* s2); 353e519524SHoward Hinnantint strncmp(const char* s1, const char* s2, size_t n); 363e519524SHoward Hinnantint strcoll(const char* s1, const char* s2); 373e519524SHoward Hinnantsize_t strxfrm(char* restrict s1, const char* restrict s2, size_t n); 383e519524SHoward Hinnantconst void* memchr(const void* s, int c, size_t n); 393e519524SHoward Hinnant void* memchr( void* s, int c, size_t n); 403e519524SHoward Hinnantconst char* strchr(const char* s, int c); 413e519524SHoward Hinnant char* strchr( char* s, int c); 423e519524SHoward Hinnantsize_t strcspn(const char* s1, const char* s2); 433e519524SHoward Hinnantconst char* strpbrk(const char* s1, const char* s2); 443e519524SHoward Hinnant char* strpbrk( char* s1, const char* s2); 453e519524SHoward Hinnantconst char* strrchr(const char* s, int c); 463e519524SHoward Hinnant char* strrchr( char* s, int c); 473e519524SHoward Hinnantsize_t strspn(const char* s1, const char* s2); 483e519524SHoward Hinnantconst char* strstr(const char* s1, const char* s2); 493e519524SHoward Hinnant char* strstr( char* s1, const char* s2); 503e519524SHoward Hinnantchar* strtok(char* restrict s1, const char* restrict s2); 513e519524SHoward Hinnantvoid* memset(void* s, int c, size_t n); 523e519524SHoward Hinnantchar* strerror(int errnum); 533e519524SHoward Hinnantsize_t strlen(const char* s); 543e519524SHoward Hinnant 553e519524SHoward Hinnant} // std 563e519524SHoward Hinnant 573e519524SHoward Hinnant*/ 583e519524SHoward Hinnant 593e519524SHoward Hinnant#include <__config> 603e519524SHoward Hinnant#include <string.h> 613e519524SHoward Hinnant 62073458b1SHoward Hinnant#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 633e519524SHoward Hinnant#pragma GCC system_header 64073458b1SHoward Hinnant#endif 653e519524SHoward Hinnant 663e519524SHoward Hinnant_LIBCPP_BEGIN_NAMESPACE_STD 673e519524SHoward Hinnant 683e519524SHoward Hinnantusing ::size_t; 693ca2099fSMarshall Clowusing ::memcpy; 703ca2099fSMarshall Clowusing ::memmove; 713e519524SHoward Hinnantusing ::strcpy; 723e519524SHoward Hinnantusing ::strncpy; 733e519524SHoward Hinnantusing ::strcat; 743e519524SHoward Hinnantusing ::strncat; 753ca2099fSMarshall Clowusing ::memcmp; 763e519524SHoward Hinnantusing ::strcmp; 773ca2099fSMarshall Clowusing ::strncmp; 783e519524SHoward Hinnantusing ::strcoll; 793e519524SHoward Hinnantusing ::strxfrm; 8025cb3209SRichard Smithusing ::memchr; 8125cb3209SRichard Smithusing ::strchr; 823e519524SHoward Hinnantusing ::strcspn; 8325cb3209SRichard Smithusing ::strpbrk; 8425cb3209SRichard Smithusing ::strrchr; 853e519524SHoward Hinnantusing ::strspn; 8625cb3209SRichard Smithusing ::strstr; 87e0cf3b9aSEd Schouten#ifndef _LIBCPP_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS 883e519524SHoward Hinnantusing ::strtok; 89e0cf3b9aSEd Schouten#endif 903e519524SHoward Hinnantusing ::memset; 913e519524SHoward Hinnantusing ::strerror; 923e519524SHoward Hinnantusing ::strlen; 933e519524SHoward Hinnant 943e519524SHoward Hinnant_LIBCPP_END_NAMESPACE_STD 953e519524SHoward Hinnant 963e519524SHoward Hinnant#endif // _LIBCPP_CSTRING 97