/*************************************************************************** * * string.h * * $Id: string.h 550991 2007-06-26 23:58:07Z sebor $ * *************************************************************************** * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or * implied. See the License for the specific language governing * permissions and limitations under the License. * * Copyright 1994-2005 Rogue Wave Software. * **************************************************************************/ #include #ifndef _RWSTD_NO_DEPRECATED_C_HEADERS # ifndef _RWSTD_STRING_H_INCLUDED # define _RWSTD_STRING_H_INCLUDED # include # ifndef _RWSTD_NO_NAMESPACE using std::size_t; using std::memchr; #if !defined (__GNUG__) || __GNUG__ > 2 // predeclared intrinsic functions cannot be redeclared using std::memcmp; using std::memcpy; using std::strcmp; using std::strcpy; using std::strlen; #endif // < gcc 3.0 using std::memmove; using std::memset; using std::strcat; using std::strchr; using std::strcoll; using std::strcspn; using std::strerror; using std::strncat; using std::strncmp; using std::strncpy; using std::strpbrk; using std::strrchr; using std::strspn; using std::strstr; using std::strtok; using std::strxfrm; # endif // _RWSTD_NO_NAMESPACE # endif // _RWSTD_STRING_H_INCLUDED #else #ifndef _RWSTD_STRING_H_INCLUDED #define _RWSTD_STRING_H_INCLUDED # include _RWSTD_ANSI_C_STRING_H # undef index # undef rindex # undef strcpy # undef strcmp # undef strlen # undef strchr # undef strrchr # undef strcat # undef memchr # undef memcpy # undef memmove # undef memcmp # undef memset # undef memccpy # undef strncat # undef strncmp # undef strncpy #if defined (_RWSTD_NO_MEMCHR) && !defined (_RWSTD_NO_MEMCHR_IN_LIBC) extern "C" void* memchr (void*, int, _RWSTD_SIZE_T); inline const void* memchr (const void *__s, int __c, _RWSTD_SIZE_T __n) { return memchr (_RWSTD_CONST_CAST (void*, __s), __c, __n); } # undef _RWSTD_NO_MEMCHR #endif // _RWSTD_NO_MEMCHR && !_RWSTD_NO_MEMCHR_IN_LIBC #if defined (_RWSTD_NO_STRPBRK) && !defined (_RWSTD_NO_STRPBRK_IN_LIBC) extern "C" char* strpbrk (char*, const char*); inline const char* strpbrk (const char *__s, const char *__pat) { return strpbrk (_RWSTD_CONST_CAST (char*, __s), __pat); } # undef _RWSTD_NO_STRPBRK #endif // _RWSTD_NO_STRPBRK && !_RWSTD_NO_STRPBRK_IN_LIBC #if defined (_RWSTD_NO_STRCHR) && !defined (_RWSTD_NO_STRCHR_IN_LIBC) extern "C" char* strchr (char*, int); inline const char* strchr (const char *__s, int __c) { return strchr (_RWSTD_CONST_CAST (char*, __s), __c); } # undef _RWSTD_NO_STRCHR #endif // _RWSTD_NO_STRCHR && !_RWSTD_NO_STRCHR_IN_LIBC #if defined (_RWSTD_NO_STRRCHR) && !defined (_RWSTD_NO_STRRCHR_IN_LIBC) extern "C" char* strrchr (char*, int); inline const char* strrchr (const char *__s, int __c) { return strrchr (_RWSTD_CONST_CAST (char*, __s), __c); } # undef _RWSTD_NO_STRRCHR #endif // _RWSTD_NO_STRRCHR && !_RWSTD_NO_STRRCHR_IN_LIBC #if defined (_RWSTD_NO_STRSTR) && !defined (_RWSTD_NO_STRSTR_IN_LIBC) extern "C" char* strstr (char*, const char*); inline const char* strstr (const char *__s1, const char *__s2) { return strstr (_RWSTD_CONST_CAST (char*, __s1), __s2); } # undef _RWSTD_NO_STRSTR #endif // _RWSTD_NO_STRSTR && !_RWSTD_NO_STRSTR_IN_LIBC # endif // _RWSTD_STRING_H_INCLUDED #endif // _RWSTD_NO_DEPRECATED_C_HEADERS