//*************************************************************************** // include/cxx/cstdlib // // SPDX-License-Identifier: Apache-2.0 // // 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 #include //*************************************************************************** // Namespace //*************************************************************************** namespace std { // Random number generation using ::srand; using ::rand; using ::random; // Environment variable support using ::getenv; using ::putenv; using ::clearenv; using ::setenv; using ::unsetenv; // Process exit functions using ::exit; using ::quick_exit; using ::abort; using ::atexit; using ::at_quick_exit; 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 using ::strtof; #ifdef CONFIG_HAVE_DOUBLE using ::strtod; #endif #ifdef CONFIG_HAVE_LONG_DOUBLE using ::strtold; #endif // Binary to string conversions using ::itoa; // Wide character operations using ::mbtowc; using ::wctomb; // Memory Management using ::malloc; using ::free; using ::realloc; using ::memalign; using ::zalloc; using ::calloc; #ifdef CONFIG_PSEUDOTERM // Pseudo-Terminals using ::ptsname; using ::ptsname_r; 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