first commit
This commit is contained in:
263
extern/stdcxx/4.2.1/include/ansi/cstdlib
vendored
Normal file
263
extern/stdcxx/4.2.1/include/ansi/cstdlib
vendored
Normal file
@@ -0,0 +1,263 @@
|
||||
// -*- C++ -*-
|
||||
/***************************************************************************
|
||||
*
|
||||
* cstdlib - C++ Standard library interface to the ANSI C header stdlib.h
|
||||
*
|
||||
* $Id: cstdlib 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-2006 Rogue Wave Software.
|
||||
*
|
||||
**************************************************************************/
|
||||
|
||||
#include <rw/_defs.h>
|
||||
|
||||
#ifndef _RWSTD_NO_PURE_C_HEADERS
|
||||
# include <ansi/_cstdlib.h>
|
||||
#else
|
||||
|
||||
#ifndef _RWSTD_NO_DEPRECATED_C_HEADERS
|
||||
|
||||
#ifndef _RWSTD_NAMESPACE_STD_OPEN
|
||||
#define _RWSTD_NAMESPACE_STD_OPEN 15
|
||||
|
||||
_RWSTD_NAMESPACE (std) {
|
||||
|
||||
#endif // _RWSTD_NAMESPACE_STD_OPEN
|
||||
|
||||
|
||||
#include _RWSTD_ANSI_C_STDLIB_H
|
||||
|
||||
#ifndef _RWSTD_CSTDLIB_INCLUDED
|
||||
#define _RWSTD_CSTDLIB_INCLUDED
|
||||
|
||||
|
||||
#ifdef _RWSTD_NO_ABS_LONG
|
||||
|
||||
inline long abs (long __x)
|
||||
{
|
||||
return __x < 0L ? -__x : __x;
|
||||
}
|
||||
|
||||
#endif // _RWSTD_NO_ABS_LONG
|
||||
|
||||
#ifdef _RWSTD_NO_DIV_LONG
|
||||
# ifndef _RWSTD_NO_LDIV
|
||||
|
||||
inline ldiv_t div (long __x, long __y)
|
||||
{
|
||||
return ldiv (__x, __y);
|
||||
}
|
||||
|
||||
# endif // _RWSTD_NO_LDIV
|
||||
#endif // _RWSTD_NO_DIV_LONG
|
||||
|
||||
|
||||
#endif // _RWSTD_CSTDLIB_INCLUDED
|
||||
|
||||
|
||||
#if _RWSTD_NAMESPACE_STD_OPEN == 15
|
||||
# undef _RWSTD_NAMESPACE_STD_OPEN
|
||||
|
||||
} // namespace std
|
||||
|
||||
#endif // _RWSTD_NAMESPACE_STD_OPEN == 15
|
||||
|
||||
#else // if defined (_RWSTD_NO_DEPRECATED_C_HEADERS)
|
||||
|
||||
#ifndef _RWSTD_CSTDLIB_INCLUDED
|
||||
#define _RWSTD_CSTDLIB_INCLUDED
|
||||
|
||||
#include _RWSTD_ANSI_C_STDLIB_H
|
||||
|
||||
#undef ldiv
|
||||
|
||||
#if !defined (_RWSTD_NO_NAMESPACE) && !defined (_RWSTD_NO_HONOR_STD) && \
|
||||
!defined (_RWSTD_NO_USING_LIBC_IN_STD)
|
||||
|
||||
namespace std {
|
||||
|
||||
|
||||
#ifdef _RWSTD_NO_ABS_UINT
|
||||
|
||||
inline unsigned abs (unsigned __x)
|
||||
{
|
||||
return __x;
|
||||
}
|
||||
|
||||
#endif // _RWSTD_NO_ABS_UINT
|
||||
|
||||
#ifdef _RWSTD_NO_ABS_LONG
|
||||
|
||||
inline long abs (long __x)
|
||||
{
|
||||
return __x < 0L ? -__x : __x;
|
||||
}
|
||||
|
||||
#endif // _RWSTD_NO_ABS_LONG
|
||||
|
||||
#ifdef _RWSTD_NO_ABS_ULONG
|
||||
|
||||
inline unsigned long abs (unsigned long __x)
|
||||
{
|
||||
return __x;
|
||||
}
|
||||
|
||||
#endif // _RWSTD_NO_ABS_ULONG
|
||||
|
||||
#ifdef _RWSTD_LONG_LONG
|
||||
# ifdef _RWSTD_NO_ABS_LLONG
|
||||
|
||||
inline _RWSTD_LONG_LONG abs (_RWSTD_LONG_LONG __x)
|
||||
{
|
||||
return __x < (_RWSTD_LONG_LONG)0 ? -__x : __x;
|
||||
}
|
||||
|
||||
# endif // _RWSTD_NO_ABS_LLONG
|
||||
|
||||
# ifdef _RWSTD_NO_ABS_ULLONG
|
||||
|
||||
inline unsigned _RWSTD_LONG_LONG abs (unsigned _RWSTD_LONG_LONG __x)
|
||||
{
|
||||
return __x;
|
||||
}
|
||||
|
||||
# endif // _RWSTD_NO_ABS_ULLONG
|
||||
#endif // _RWSTD_LONG_LONG
|
||||
|
||||
#ifdef _RWSTD_NO_DIV_LONG
|
||||
# ifndef _RWSTD_NO_LDIV
|
||||
|
||||
inline ldiv_t div (long __x, long __y)
|
||||
{
|
||||
return ldiv (__x, __y);
|
||||
}
|
||||
|
||||
# endif // _RWSTD_NO_LDIV
|
||||
#endif // _RWSTD_NO_DIV_LONG
|
||||
|
||||
#ifndef _RWSTD_NO_EXTERN_C_COMPATIBILITY
|
||||
# ifndef _RWSTD_NO_EXTERN_C_OVERLOAD
|
||||
|
||||
extern "C" {
|
||||
typedef int (*__rw_compar_t)(const void*, const void*);
|
||||
}
|
||||
|
||||
extern "C++" {
|
||||
|
||||
// 25.4, p3
|
||||
inline void*
|
||||
bsearch (const void *__key, const void *__base, size_t __n, size_t __size,
|
||||
int (*__cmp)(const void*, const void*))
|
||||
{
|
||||
return ::bsearch (__key, __base, __n, __size,
|
||||
_RWSTD_REINTERPRET_CAST (__rw_compar_t, __cmp));
|
||||
}
|
||||
|
||||
// 25.4, p4
|
||||
inline void
|
||||
qsort (void *__base, size_t __n, size_t __size,
|
||||
int (*__cmp)(const void*, const void*))
|
||||
{
|
||||
return ::qsort (__base, __n, __size,
|
||||
_RWSTD_REINTERPRET_CAST (__rw_compar_t, __cmp));
|
||||
}
|
||||
|
||||
} // extern "C++"
|
||||
|
||||
# endif // _RWSTD_NO_EXTERN_C_OVERLOAD
|
||||
#endif // _RWSTD_NO_EXTERN_C_COMPATIBILITY
|
||||
|
||||
// using statements must come after the overloads.
|
||||
// working around MSVC6 PR# 27677
|
||||
using ::size_t;
|
||||
using ::div_t;
|
||||
|
||||
#ifndef _RWSTD_NO_LDIV
|
||||
using ::ldiv_t;
|
||||
#endif // _RWSTD_NO_LDIV
|
||||
|
||||
using ::abort;
|
||||
|
||||
#if defined (_RWSTD_NO_ABS) && defined (_RWSTD_NO_ABS_INT) \
|
||||
|| defined (__HP_aCC) \
|
||||
&& defined (_MATH_INCLUDED) && !defined (__MATH_INCLUDED)
|
||||
|
||||
// hacking around an HP aCC quirk when using system headers
|
||||
// in /usr/include without the compiler's wrappers (i.e.,
|
||||
// when -I/usr/include is on the command line)
|
||||
|
||||
} // namespace std
|
||||
|
||||
extern "C" {
|
||||
|
||||
inline int abs (int __x)
|
||||
{
|
||||
return __x < 0 ? -__x : __x;
|
||||
}
|
||||
|
||||
} // extern "C"
|
||||
|
||||
namespace std {
|
||||
|
||||
#endif // _RWSTD_NO_ABS && _RWSTD_NO_ABS_INT ...
|
||||
|
||||
using ::abs;
|
||||
|
||||
using ::atexit;
|
||||
using ::atof;
|
||||
using ::atoi;
|
||||
using ::atol;
|
||||
using ::bsearch;
|
||||
using ::calloc;
|
||||
using ::div;
|
||||
using ::exit;
|
||||
using ::free;
|
||||
using ::getenv;
|
||||
using ::labs;
|
||||
using ::ldiv;
|
||||
using ::malloc;
|
||||
using ::mblen;
|
||||
using ::mbstowcs;
|
||||
|
||||
#ifndef _RWSTD_NO_MBTOWC
|
||||
using ::mbtowc;
|
||||
#endif // _RWSTD_NO_MBTOWC
|
||||
|
||||
using ::qsort;
|
||||
using ::rand;
|
||||
using ::realloc;
|
||||
using ::srand;
|
||||
using ::strtod;
|
||||
using ::strtol;
|
||||
using ::strtoul;
|
||||
using ::system;
|
||||
using ::wcstombs;
|
||||
using ::wctomb;
|
||||
|
||||
} // namespace std
|
||||
|
||||
#endif // !_RWSTD_NO_NAMESPACE && !_RWSTD_NO_HONOR_STD && !_RWSTD_NO_USING_LIBC_IN_STD
|
||||
|
||||
#endif // _RWSTD_CSTDLIB_INCLUDED
|
||||
|
||||
#endif // _RWSTD_NO_DEPRECATED_C_HEADERS
|
||||
|
||||
#endif // _RWSTD_NO_PURE_C_HEADERS
|
||||
Reference in New Issue
Block a user