first commit
This commit is contained in:
167
extern/stdcxx/4.2.1/include/ansi/_cstdlib.h
vendored
Normal file
167
extern/stdcxx/4.2.1/include/ansi/_cstdlib.h
vendored
Normal file
@@ -0,0 +1,167 @@
|
||||
// -*- C++ -*-
|
||||
/***************************************************************************
|
||||
*
|
||||
* cstdlib - C++ Standard library interface to the ANSI C header stdlib.h
|
||||
*
|
||||
* $Id: _cstdlib.h 497905 2007-01-19 18:51:23Z 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 2001-2006 Rogue Wave Software.
|
||||
*
|
||||
**************************************************************************/
|
||||
|
||||
#ifndef _RWSTD_CSTDLIB_H_INCLUDED
|
||||
#define _RWSTD_CSTDLIB_H_INCLUDED
|
||||
|
||||
|
||||
#include <rw/_defs.h>
|
||||
|
||||
|
||||
_RWSTD_NAMESPACE (std) {
|
||||
|
||||
|
||||
#ifndef EXIT_FAILURE
|
||||
# define EXIT_FAILURE 1
|
||||
#endif
|
||||
|
||||
#ifndef EXIT_SUCCESS
|
||||
# define EXIT_SUCCESS 0
|
||||
#endif
|
||||
|
||||
#ifndef MB_CUR_MAX
|
||||
# define MB_CUR_MAX _RWSTD_MB_CUR_MAX
|
||||
#endif
|
||||
|
||||
#ifndef NULL
|
||||
# define NULL 0
|
||||
#endif
|
||||
|
||||
#ifndef RAND_MAX
|
||||
# define RAND_MAX _RWSTD_RAND_MAX
|
||||
#endif
|
||||
|
||||
|
||||
extern "C" {
|
||||
|
||||
|
||||
struct div_t
|
||||
{
|
||||
// traditional layout (e.g., HP-UX, Linux, Solaris)
|
||||
int quot;
|
||||
int rem;
|
||||
};
|
||||
|
||||
struct ldiv_t
|
||||
{
|
||||
// traditional layout (e.g., HP-UX, Linux, Solaris)
|
||||
long quot;
|
||||
long rem;
|
||||
};
|
||||
|
||||
|
||||
#ifdef _RWSTD_SIZE_T
|
||||
typedef _RWSTD_SIZE_T size_t;
|
||||
#else
|
||||
typedef unsigned long size_t;
|
||||
#endif // _RWSTD_SIZE_T
|
||||
|
||||
|
||||
double atof (const char*);
|
||||
int atoi (const char*);
|
||||
long int atol (const char*);
|
||||
double strtod (const char*, char**);
|
||||
long int strtol (const char*, char**, int);
|
||||
unsigned long int strtoul (const char*, char**, int);
|
||||
int rand (void);
|
||||
void srand (unsigned int);
|
||||
void* calloc (size_t, size_t);
|
||||
void free (void*);
|
||||
void* malloc (size_t) ;
|
||||
void* realloc (void*, size_t);
|
||||
void abort (void);
|
||||
int atexit (void (*) (void));
|
||||
void exit (int);
|
||||
char* getenv (const char*);
|
||||
int system (const char*);
|
||||
void* bsearch (const void*, const void*, size_t, size_t,
|
||||
int (*) (const void*, const void*));
|
||||
void qsort (void*, size_t, size_t, int (*) (const void *, const void *));
|
||||
int abs (int);
|
||||
div_t div (int, int);
|
||||
long int labs (long int);
|
||||
ldiv_t ldiv (long int, long int);
|
||||
int mblen (const char*, size_t);
|
||||
int mbtowc (wchar_t*, const char*, size_t);
|
||||
int wctomb (char*, wchar_t);
|
||||
size_t mbstowcs (wchar_t*, const char*, size_t);
|
||||
size_t wcstombs (char*, const wchar_t*, size_t);
|
||||
|
||||
|
||||
} // extern "C"
|
||||
|
||||
#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 of ISO/IEC 14882:1998
|
||||
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 of ISO/IEC 14882:1998
|
||||
inline void
|
||||
qsort (void *__base, size_t __n, size_t __size,
|
||||
int (*__cmp)(const void*, const void*))
|
||||
{
|
||||
return _RWSTD_C::qsort (__base, __n, __size,
|
||||
_RWSTD_REINTERPRET_CAST (__rw_compar_t, __cmp));
|
||||
}
|
||||
|
||||
inline long
|
||||
abs (long __x)
|
||||
{
|
||||
return labs (__x);
|
||||
}
|
||||
|
||||
inline ldiv_t
|
||||
div (long __x, long __y)
|
||||
{
|
||||
return ldiv (__x, __y);
|
||||
}
|
||||
|
||||
} // extern "C++"
|
||||
|
||||
# endif // _RWSTD_NO_EXTERN_C_OVERLOAD
|
||||
#endif // _RWSTD_NO_EXTERN_C_COMPATIBILITY
|
||||
|
||||
|
||||
} // namespace std
|
||||
|
||||
|
||||
#endif // _RWSTD_CSTDLIB_H_INCLUDED
|
||||
Reference in New Issue
Block a user