root / lab4 / .minix-src / include / c++ / cstring @ 14
History | View | Annotate | Download (3.27 KB)
1 | 13 | up20180614 | // -*- C++ -*- |
---|---|---|---|
2 | //===--------------------------- cstring ----------------------------------===// |
||
3 | // |
||
4 | // The LLVM Compiler Infrastructure |
||
5 | // |
||
6 | // This file is distributed under the University of Illinois Open Source |
||
7 | // License. See LICENSE.TXT for details. |
||
8 | // |
||
9 | //===----------------------------------------------------------------------===// |
||
10 | |||
11 | #ifndef _LIBCPP_CSTRING |
||
12 | #define _LIBCPP_CSTRING |
||
13 | |||
14 | /* |
||
15 | cstring synopsis |
||
16 | |||
17 | Macros: |
||
18 | |||
19 | NULL |
||
20 | |||
21 | namespace std |
||
22 | { |
||
23 | |||
24 | Types: |
||
25 | |||
26 | size_t |
||
27 | |||
28 | void* memcpy(void* restrict s1, const void* restrict s2, size_t n); |
||
29 | void* memmove(void* s1, const void* s2, size_t n); |
||
30 | char* strcpy (char* restrict s1, const char* restrict s2); |
||
31 | char* strncpy(char* restrict s1, const char* restrict s2, size_t n); |
||
32 | char* strcat (char* restrict s1, const char* restrict s2); |
||
33 | char* strncat(char* restrict s1, const char* restrict s2, size_t n); |
||
34 | int memcmp(const void* s1, const void* s2, size_t n); |
||
35 | int strcmp (const char* s1, const char* s2); |
||
36 | int strncmp(const char* s1, const char* s2, size_t n); |
||
37 | int strcoll(const char* s1, const char* s2); |
||
38 | size_t strxfrm(char* restrict s1, const char* restrict s2, size_t n); |
||
39 | const void* memchr(const void* s, int c, size_t n); |
||
40 | void* memchr( void* s, int c, size_t n); |
||
41 | const char* strchr(const char* s, int c); |
||
42 | char* strchr( char* s, int c); |
||
43 | size_t strcspn(const char* s1, const char* s2); |
||
44 | const char* strpbrk(const char* s1, const char* s2); |
||
45 | char* strpbrk( char* s1, const char* s2); |
||
46 | const char* strrchr(const char* s, int c); |
||
47 | char* strrchr( char* s, int c); |
||
48 | size_t strspn(const char* s1, const char* s2); |
||
49 | const char* strstr(const char* s1, const char* s2); |
||
50 | char* strstr( char* s1, const char* s2); |
||
51 | char* strtok(char* restrict s1, const char* restrict s2); |
||
52 | void* memset(void* s, int c, size_t n); |
||
53 | char* strerror(int errnum); |
||
54 | size_t strlen(const char* s); |
||
55 | |||
56 | } // std |
||
57 | |||
58 | */ |
||
59 | |||
60 | #include <__config> |
||
61 | #include <string.h> |
||
62 | |||
63 | #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) |
||
64 | #pragma GCC system_header |
||
65 | #endif |
||
66 | |||
67 | _LIBCPP_BEGIN_NAMESPACE_STD |
||
68 | |||
69 | using ::size_t; |
||
70 | using ::memcpy; |
||
71 | using ::memmove; |
||
72 | using ::strcpy; |
||
73 | using ::strncpy; |
||
74 | using ::strcat; |
||
75 | using ::strncat; |
||
76 | using ::memcmp; |
||
77 | using ::strcmp; |
||
78 | using ::strncmp; |
||
79 | using ::strcoll; |
||
80 | using ::strxfrm; |
||
81 | |||
82 | using ::memchr; |
||
83 | |||
84 | using ::strchr; |
||
85 | |||
86 | using ::strcspn; |
||
87 | |||
88 | using ::strpbrk; |
||
89 | |||
90 | using ::strrchr; |
||
91 | |||
92 | using ::strspn; |
||
93 | |||
94 | using ::strstr; |
||
95 | |||
96 | // MSVCRT, GNU libc and its derivates already have the correct prototype in <string.h> #ifdef __cplusplus |
||
97 | #if !defined(__GLIBC__) && !defined(_LIBCPP_MSVCRT) && !defined(__sun__) && !defined(_STRING_H_CPLUSPLUS_98_CONFORMANCE_) |
||
98 | inline _LIBCPP_INLINE_VISIBILITY char* strchr( char* __s, int __c) {return ::strchr(__s, __c);} |
||
99 | inline _LIBCPP_INLINE_VISIBILITY char* strpbrk( char* __s1, const char* __s2) {return ::strpbrk(__s1, __s2);} |
||
100 | inline _LIBCPP_INLINE_VISIBILITY char* strrchr( char* __s, int __c) {return ::strrchr(__s, __c);} |
||
101 | inline _LIBCPP_INLINE_VISIBILITY void* memchr( void* __s, int __c, size_t __n) {return ::memchr(__s, __c, __n);} |
||
102 | inline _LIBCPP_INLINE_VISIBILITY char* strstr( char* __s1, const char* __s2) {return ::strstr(__s1, __s2);} |
||
103 | #endif |
||
104 | |||
105 | #ifndef _LIBCPP_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS |
||
106 | using ::strtok; |
||
107 | #endif |
||
108 | using ::memset; |
||
109 | using ::strerror; |
||
110 | using ::strlen; |
||
111 | |||
112 | _LIBCPP_END_NAMESPACE_STD |
||
113 | |||
114 | #endif // _LIBCPP_CSTRING |