nuttx/include/cxx/cstdlib

143 lines
2.9 KiB
Plaintext
Raw Normal View History

//***************************************************************************
// include/cxx/cstdlib
//
// 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.
//
//***************************************************************************
#ifndef __INCLUDE_CXX_CSTDLIB
#define __INCLUDE_CXX_CSTDLIB
//***************************************************************************
// Included Files
//***************************************************************************
#include <nuttx/config.h>
#include <stdlib.h>
//***************************************************************************
// Namespace
//***************************************************************************
namespace std
{
// Random number generation
using ::srand;
using ::rand;
2019-04-21 23:10:56 +02:00
using ::random;
// Environment variable support
using ::get_environ_ptr;
using ::getenv;
using ::putenv;
using ::clearenv;
using ::setenv;
using ::unsetenv;
// Process exit functions
using ::exit;
using ::abort;
using ::atexit;
using ::on_exit;
#ifndef __KERNEL__
// System command
using ::system;
#endif
// String to binary conversions
using ::atof;
using ::atoi;
using ::atol;
using ::strtol;
using ::strtoul;
#ifdef CONFIG_HAVE_LONG_LONG
using ::strtoll;
using ::strtoull;
#endif
2017-02-14 14:48:54 +01:00
using ::strtof;
#ifdef CONFIG_HAVE_DOUBLE
using ::strtod;
2017-02-14 14:48:54 +01:00
#endif
#ifdef CONFIG_HAVE_LONG_DOUBLE
using ::strtold;
#endif
// Binary to string conversions
using ::itoa;
2017-02-14 14:48:54 +01:00
// Wide character operations
#ifdef CONFIG_LIBC_WCHAR
using ::mbtowc;
using ::wctomb;
#endif
// Memory Management
using ::malloc;
using ::free;
using ::realloc;
using ::memalign;
using ::zalloc;
using ::calloc;
#ifdef CONFIG_PSEUDOTERM
// Pseudo-Terminals
#ifdef CONFIG_PSEUDOTERM_SUSV1
using ::ptsname;
using ::ptsname_r;
#endif
using ::unlockpt;
#endif
// Arithmetic
using ::abs;
using ::labs;
#ifdef CONFIG_HAVE_LONG_LONG
using ::llabs;
#endif
using ::div;
using ::ldiv;
#ifdef CONFIG_HAVE_LONG_LONG
using ::lldiv;
#endif
// Temporary files
using ::mktemp;
using ::mkstemp;
// Sorting
using ::qsort;
// Binary search
using ::bsearch;
}
#endif // __INCLUDE_CXX_CSTDLIB