codekingpro/portable-devtools
114k
1// -*- C++ -*-2//===--------------------------- cstring ----------------------------------===//3//4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.5// See https://llvm.org/LICENSE.txt for license information.6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception7//8//===----------------------------------------------------------------------===//9 10#ifndef _LIBCUDACXX_CSTRING11#define _LIBCUDACXX_CSTRING12 13/*14 cstring synopsis15 16Macros:17 18 NULL19 20namespace std21{22 23Types:24 25 size_t26 27void* memcpy(void* restrict s1, const void* restrict s2, size_t n);28void* memmove(void* s1, const void* s2, size_t n);29char* strcpy (char* restrict s1, const char* restrict s2);30char* strncpy(char* restrict s1, const char* restrict s2, size_t n);31char* strcat (char* restrict s1, const char* restrict s2);32char* strncat(char* restrict s1, const char* restrict s2, size_t n);33int memcmp(const void* s1, const void* s2, size_t n);34int strcmp (const char* s1, const char* s2);35int strncmp(const char* s1, const char* s2, size_t n);36int strcoll(const char* s1, const char* s2);37size_t strxfrm(char* restrict s1, const char* restrict s2, size_t n);38const void* memchr(const void* s, int c, size_t n);39 void* memchr( void* s, int c, size_t n);40const char* strchr(const char* s, int c);41 char* strchr( char* s, int c);42size_t strcspn(const char* s1, const char* s2);43const char* strpbrk(const char* s1, const char* s2);44 char* strpbrk( char* s1, const char* s2);45const char* strrchr(const char* s, int c);46 char* strrchr( char* s, int c);47size_t strspn(const char* s1, const char* s2);48const char* strstr(const char* s1, const char* s2);49 char* strstr( char* s1, const char* s2);50char* strtok(char* restrict s1, const char* restrict s2);51void* memset(void* s, int c, size_t n);52char* strerror(int errnum);53size_t strlen(const char* s);54 55} // std56 57*/58 59#ifndef __cuda_std__60#include <__config>61#include <string.h>62#include <__pragma_push>63#endif //__simet__ <- a tribute to ogiroux64 65#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC)66# pragma GCC system_header67#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG)68# pragma clang system_header69#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC)70# pragma system_header71#endif // no system header72 73_LIBCUDACXX_BEGIN_NAMESPACE_STD74 75using ::size_t;76using ::memcpy;77using ::memmove;78using ::strcpy;79using ::strncpy;80using ::strcat;81using ::strncat;82using ::memcmp;83using ::strcmp;84using ::strncmp;85using ::strcoll;86using ::strxfrm;87using ::memchr;88using ::strchr;89using ::strcspn;90using ::strpbrk;91using ::strrchr;92using ::strspn;93using ::strstr;94#ifndef _LIBCUDACXX_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS95using ::strtok;96#endif97using ::memset;98using ::strerror;99using ::strlen;100 101_LIBCUDACXX_END_NAMESPACE_STD102 103#ifndef __cuda_std__104#include <__pragma_pop>105#endif //__cuda_std__106 107#endif // _LIBCUDACXX_CSTRING108 