0,0 → 1,123 |
// -*- C++ -*- forwarding header. |
|
// Copyright (C) 1997-2013 Free Software Foundation, Inc. |
// |
// This file is part of the GNU ISO C++ Library. This library is free |
// software; you can redistribute it and/or modify it under the |
// terms of the GNU General Public License as published by the |
// Free Software Foundation; either version 3, or (at your option) |
// any later version. |
|
// This library is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// GNU General Public License for more details. |
|
// Under Section 7 of GPL version 3, you are granted additional |
// permissions described in the GCC Runtime Library Exception, version |
// 3.1, as published by the Free Software Foundation. |
|
// You should have received a copy of the GNU General Public License and |
// a copy of the GCC Runtime Library Exception along with this program; |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see |
// <http://www.gnu.org/licenses/>. |
|
/** @file cstring |
* This is a Standard C++ Library file. You should @c \#include this file |
* in your programs, rather than any of the @a *.h implementation files. |
* |
* This is the C++ version of the Standard C Library header @c string.h, |
* and its contents are (mostly) the same as that header, but are all |
* contained in the namespace @c std (except for names which are defined |
* as macros in C). |
*/ |
|
// |
// ISO C++ 14882: 20.4.6 C library |
// |
|
#pragma GCC system_header |
|
#include <bits/c++config.h> |
#include <string.h> |
|
#ifndef _GLIBCXX_CSTRING |
#define _GLIBCXX_CSTRING 1 |
|
// Get rid of those macros defined in <string.h> in lieu of real functions. |
#undef memchr |
#undef memcmp |
#undef memcpy |
#undef memmove |
#undef memset |
#undef strcat |
#undef strchr |
#undef strcmp |
#undef strcoll |
#undef strcpy |
#undef strcspn |
#undef strerror |
#undef strlen |
#undef strncat |
#undef strncmp |
#undef strncpy |
#undef strpbrk |
#undef strrchr |
#undef strspn |
#undef strstr |
#undef strtok |
#undef strxfrm |
|
namespace std _GLIBCXX_VISIBILITY(default) |
{ |
_GLIBCXX_BEGIN_NAMESPACE_VERSION |
|
using ::memchr; |
using ::memcmp; |
using ::memcpy; |
using ::memmove; |
using ::memset; |
using ::strcat; |
using ::strcmp; |
using ::strcoll; |
using ::strcpy; |
using ::strcspn; |
using ::strerror; |
using ::strlen; |
using ::strncat; |
using ::strncmp; |
using ::strncpy; |
using ::strspn; |
using ::strtok; |
using ::strxfrm; |
using ::strchr; |
using ::strpbrk; |
using ::strrchr; |
using ::strstr; |
|
#ifndef __CORRECT_ISO_CPP_STRING_H_PROTO |
inline void* |
memchr(void* __s, int __c, size_t __n) |
{ return __builtin_memchr(__s, __c, __n); } |
|
inline char* |
strchr(char* __s, int __n) |
{ return __builtin_strchr(__s, __n); } |
|
inline char* |
strpbrk(char* __s1, const char* __s2) |
{ return __builtin_strpbrk(__s1, __s2); } |
|
inline char* |
strrchr(char* __s, int __n) |
{ return __builtin_strrchr(__s, __n); } |
|
inline char* |
strstr(char* __s1, const char* __s2) |
{ return __builtin_strstr(__s1, __s2); } |
#endif |
|
_GLIBCXX_END_NAMESPACE_VERSION |
} // namespace |
|
#endif |