root / lab4 / .minix-src / include / c++ / cstring @ 14
History | View | Annotate | Download (3.27 KB)
1 |
// -*- 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 |