xref: /freebsd-12.1/contrib/libc++/include/cstring (revision 7c82a1ec)
17a984708SDavid Chisnall// -*- C++ -*-
27a984708SDavid Chisnall//===--------------------------- cstring ----------------------------------===//
37a984708SDavid Chisnall//
47a984708SDavid Chisnall//                     The LLVM Compiler Infrastructure
57a984708SDavid Chisnall//
67a984708SDavid Chisnall// This file is distributed under the University of Illinois Open Source
77a984708SDavid Chisnall// License. See LICENSE.TXT for details.
87a984708SDavid Chisnall//
97a984708SDavid Chisnall//===----------------------------------------------------------------------===//
107a984708SDavid Chisnall
117a984708SDavid Chisnall#ifndef _LIBCPP_CSTRING
127a984708SDavid Chisnall#define _LIBCPP_CSTRING
137a984708SDavid Chisnall
147a984708SDavid Chisnall/*
157a984708SDavid Chisnall    cstring synopsis
167a984708SDavid Chisnall
177a984708SDavid ChisnallMacros:
187a984708SDavid Chisnall
197a984708SDavid Chisnall    NULL
207a984708SDavid Chisnall
217a984708SDavid Chisnallnamespace std
227a984708SDavid Chisnall{
237a984708SDavid Chisnall
247a984708SDavid ChisnallTypes:
257a984708SDavid Chisnall
267a984708SDavid Chisnall    size_t
277a984708SDavid Chisnall
287a984708SDavid Chisnallvoid* memcpy(void* restrict s1, const void* restrict s2, size_t n);
297a984708SDavid Chisnallvoid* memmove(void* s1, const void* s2, size_t n);
307a984708SDavid Chisnallchar* strcpy (char* restrict s1, const char* restrict s2);
317a984708SDavid Chisnallchar* strncpy(char* restrict s1, const char* restrict s2, size_t n);
327a984708SDavid Chisnallchar* strcat (char* restrict s1, const char* restrict s2);
337a984708SDavid Chisnallchar* strncat(char* restrict s1, const char* restrict s2, size_t n);
347a984708SDavid Chisnallint memcmp(const void* s1, const void* s2, size_t n);
357a984708SDavid Chisnallint strcmp (const char* s1, const char* s2);
367a984708SDavid Chisnallint strncmp(const char* s1, const char* s2, size_t n);
377a984708SDavid Chisnallint strcoll(const char* s1, const char* s2);
387a984708SDavid Chisnallsize_t strxfrm(char* restrict s1, const char* restrict s2, size_t n);
397a984708SDavid Chisnallconst void* memchr(const void* s, int c, size_t n);
407a984708SDavid Chisnall      void* memchr(      void* s, int c, size_t n);
417a984708SDavid Chisnallconst char* strchr(const char* s, int c);
427a984708SDavid Chisnall      char* strchr(      char* s, int c);
437a984708SDavid Chisnallsize_t strcspn(const char* s1, const char* s2);
447a984708SDavid Chisnallconst char* strpbrk(const char* s1, const char* s2);
457a984708SDavid Chisnall      char* strpbrk(      char* s1, const char* s2);
467a984708SDavid Chisnallconst char* strrchr(const char* s, int c);
477a984708SDavid Chisnall      char* strrchr(      char* s, int c);
487a984708SDavid Chisnallsize_t strspn(const char* s1, const char* s2);
497a984708SDavid Chisnallconst char* strstr(const char* s1, const char* s2);
507a984708SDavid Chisnall      char* strstr(      char* s1, const char* s2);
517a984708SDavid Chisnallchar* strtok(char* restrict s1, const char* restrict s2);
527a984708SDavid Chisnallvoid* memset(void* s, int c, size_t n);
537a984708SDavid Chisnallchar* strerror(int errnum);
547a984708SDavid Chisnallsize_t strlen(const char* s);
557a984708SDavid Chisnall
567a984708SDavid Chisnall}  // std
577a984708SDavid Chisnall
587a984708SDavid Chisnall*/
597a984708SDavid Chisnall
607a984708SDavid Chisnall#include <__config>
617a984708SDavid Chisnall#include <string.h>
627a984708SDavid Chisnall
637a984708SDavid Chisnall#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
647a984708SDavid Chisnall#pragma GCC system_header
657a984708SDavid Chisnall#endif
667a984708SDavid Chisnall
677a984708SDavid Chisnall_LIBCPP_BEGIN_NAMESPACE_STD
687a984708SDavid Chisnall
697a984708SDavid Chisnallusing ::size_t;
707a984708SDavid Chisnallusing ::memcpy;
717a984708SDavid Chisnallusing ::memmove;
727a984708SDavid Chisnallusing ::strcpy;
737a984708SDavid Chisnallusing ::strncpy;
747a984708SDavid Chisnallusing ::strcat;
757a984708SDavid Chisnallusing ::strncat;
767a984708SDavid Chisnallusing ::memcmp;
777a984708SDavid Chisnallusing ::strcmp;
787a984708SDavid Chisnallusing ::strncmp;
797a984708SDavid Chisnallusing ::strcoll;
807a984708SDavid Chisnallusing ::strxfrm;
817a984708SDavid Chisnallusing ::memchr;
827a984708SDavid Chisnallusing ::strchr;
837a984708SDavid Chisnallusing ::strcspn;
847a984708SDavid Chisnallusing ::strpbrk;
857a984708SDavid Chisnallusing ::strrchr;
867a984708SDavid Chisnallusing ::strspn;
877a984708SDavid Chisnallusing ::strstr;
88*854fa44bSDimitry Andric#ifndef _LIBCPP_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS
897a984708SDavid Chisnallusing ::strtok;
90*854fa44bSDimitry Andric#endif
917a984708SDavid Chisnallusing ::memset;
927a984708SDavid Chisnallusing ::strerror;
937a984708SDavid Chisnallusing ::strlen;
947a984708SDavid Chisnall
957a984708SDavid Chisnall_LIBCPP_END_NAMESPACE_STD
967a984708SDavid Chisnall
977a984708SDavid Chisnall#endif  // _LIBCPP_CSTRING
98