// cstdlib standard header -*-c++-*-
// Copyright 2009-2017 IAR Systems AB.
#ifndef _CSTDLIB_
#define _CSTDLIB_

#ifndef _SYSTEM_BUILD
  #pragma system_include
#endif

#include <stdlib.h>

#ifdef __cplusplus
namespace std {
  using ::size_t; using ::div_t; using ::ldiv_t;

  using ::abort; 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;
  #if _DLIB_WIDE_CHARACTERS != 0
    using ::mbstowcs; using ::mbtowc;
    using ::wcstombs; using ::wctomb;
  #endif
  using ::qsort; using ::rand; using ::realloc;
  using ::srand; using ::strtod; using ::strtol;
  using ::strtoul; using ::system;
  using ::__qsortbbl;
  #if !_DLIB_ONLY_C89
    using ::strtold; using ::strtof; using ::aligned_alloc;
    using ::lldiv_t;
    using ::atoll; using ::strtoll; using ::strtoull;
    using ::llabs; using ::lldiv;
    using ::_Exit;
    using ::at_quick_exit; using ::quick_exit;
  #endif
  #if __STDC_WANT_LIB_EXT1__ == 1
    using ::errno_t; using ::rsize_t;
    using ::constraint_handler_t;
    using ::set_constraint_handler_s;
    using ::abort_handler_s;
    using ::ignore_handler_s;
    using ::getenv_s;
    using ::bsearch_s; using ::qsort_s;
    #if _DLIB_WIDE_CHARACTERS != 0
      using ::wctomb_s; using ::mbstowcs_s;
      using ::wcstombs_s;
    #endif
  #endif
  #if __AEABI_PORTABILITY_INTERNAL_LEVEL
    using ::__aeabi_MB_CUR_MAX;
  #else
    using ::__iar_Mbcurmax;
  #endif

  #if __AEABI_PORTABILITY_INTERNAL_LEVEL == 0
    #define __DATA_PTR_MEM_HELPER1__(M, I) \
      using  ::M##_size_t;
    __DATA_PTR_MEMORY_LIST1__()
    #undef __DATA_PTR_MEM_HELPER1__
    #if __MULTIPLE_HEAPS__
      #pragma language = save
      #pragma language = extended
      #define __HEAP_MEM_HELPER1__(M, I)                               \
        using ::M##_free; using ::M##_malloc; using ::M##_calloc;      \
        using ::M##_realloc; using ::M##_aligned_alloc;                \
        using ::M##_realloc_in_place;
      __HEAP_MEMORY_LIST1__()
      #undef __HEAP_MEM_HELPER1__
      #pragma language = restore
    #endif
    using ::__iar_DLib_library_version;
  #endif /* __AEABI_PORTABILITY_INTERNAL_LEVEL == 0 */
} /* namespace std */
#endif /* __cplusplus */
#endif /* _CSTDLIB_ */

/*
 * Copyright (c) by P.J. Plauger. All rights reserved.
 * Consult your license regarding permissions and restrictions.
V6.50:0576 */
