13e519524SHoward Hinnant// -*- C++ -*- 2eb8650a7SLouis Dionne//===----------------------------------------------------------------------===// 33e519524SHoward Hinnant// 42946cd70SChandler Carruth// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 52946cd70SChandler Carruth// See https://llvm.org/LICENSE.txt for license information. 62946cd70SChandler 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 59*385cc25aSLouis Dionne#include <__assert> // all public C++ headers provide the assertion handler 603e519524SHoward Hinnant#include <__config> 613e519524SHoward Hinnant#include <string.h> 623e519524SHoward Hinnant 63073458b1SHoward Hinnant#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 643e519524SHoward Hinnant# pragma GCC system_header 65073458b1SHoward Hinnant#endif 663e519524SHoward Hinnant 673e519524SHoward Hinnant_LIBCPP_BEGIN_NAMESPACE_STD 683e519524SHoward Hinnant 69a9c9183cSLouis Dionneusing ::size_t _LIBCPP_USING_IF_EXISTS; 70a9c9183cSLouis Dionneusing ::memcpy _LIBCPP_USING_IF_EXISTS; 71a9c9183cSLouis Dionneusing ::memmove _LIBCPP_USING_IF_EXISTS; 72a9c9183cSLouis Dionneusing ::strcpy _LIBCPP_USING_IF_EXISTS; 73a9c9183cSLouis Dionneusing ::strncpy _LIBCPP_USING_IF_EXISTS; 74a9c9183cSLouis Dionneusing ::strcat _LIBCPP_USING_IF_EXISTS; 75a9c9183cSLouis Dionneusing ::strncat _LIBCPP_USING_IF_EXISTS; 76a9c9183cSLouis Dionneusing ::memcmp _LIBCPP_USING_IF_EXISTS; 77a9c9183cSLouis Dionneusing ::strcmp _LIBCPP_USING_IF_EXISTS; 78a9c9183cSLouis Dionneusing ::strncmp _LIBCPP_USING_IF_EXISTS; 79a9c9183cSLouis Dionneusing ::strcoll _LIBCPP_USING_IF_EXISTS; 80a9c9183cSLouis Dionneusing ::strxfrm _LIBCPP_USING_IF_EXISTS; 81a9c9183cSLouis Dionneusing ::memchr _LIBCPP_USING_IF_EXISTS; 82a9c9183cSLouis Dionneusing ::strchr _LIBCPP_USING_IF_EXISTS; 83a9c9183cSLouis Dionneusing ::strcspn _LIBCPP_USING_IF_EXISTS; 84a9c9183cSLouis Dionneusing ::strpbrk _LIBCPP_USING_IF_EXISTS; 85a9c9183cSLouis Dionneusing ::strrchr _LIBCPP_USING_IF_EXISTS; 86a9c9183cSLouis Dionneusing ::strspn _LIBCPP_USING_IF_EXISTS; 87a9c9183cSLouis Dionneusing ::strstr _LIBCPP_USING_IF_EXISTS; 88a9c9183cSLouis Dionneusing ::strtok _LIBCPP_USING_IF_EXISTS; 89a9c9183cSLouis Dionneusing ::memset _LIBCPP_USING_IF_EXISTS; 90a9c9183cSLouis Dionneusing ::strerror _LIBCPP_USING_IF_EXISTS; 91a9c9183cSLouis Dionneusing ::strlen _LIBCPP_USING_IF_EXISTS; 923e519524SHoward Hinnant 933e519524SHoward Hinnant_LIBCPP_END_NAMESPACE_STD 943e519524SHoward Hinnant 953e519524SHoward Hinnant#endif // _LIBCPP_CSTRING 96