//***************************************************************************
// include/cxx/cwchar
//
// 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_CWCHAR
#define __INCLUDE_CXX_CWCHAR

//***************************************************************************
// Included Files
//***************************************************************************

#include <nuttx/config.h>

#include <wchar.h>
#include <wctype.h>
#include <stdlib.h>

//***************************************************************************
// Namespace
//***************************************************************************

namespace std
{
  using ::mbstate_t;
  using ::wint_t;
  using ::wctype_t;
  using ::size_t;
  using ::btowc;
  using ::fwprintf;
  using ::fwscanf;
  using ::iswalnum;
  using ::iswalpha;
  using ::iswcntrl;
  using ::iswdigit;
  using ::iswgraph;
  using ::iswlower;
  using ::iswprint;
  using ::iswpunct;
  using ::iswspace;
  using ::iswupper;
  using ::iswxdigit;
  using ::iswctype;
  using ::fgetwc;
  using ::fgetws;
  using ::fputwc;
  using ::fputws;
  using ::fwide;
  using ::getwc;
  using ::getwchar;
  using ::mbsinit;
  using ::mbrlen;
  using ::mbrtowc;
  using ::mbsrtowcs;
  using ::mbtowc;
  using ::putwc;
  using ::putwchar;
  using ::swprintf;
  using ::swscanf;
  using ::towlower;
  using ::towupper;
  using ::ungetwc;
  using ::vfwprintf;
  using ::vwprintf;
  using ::vswprintf;
  using ::wcstold;
  using ::wcrtomb;
  using ::wcscat;
  using ::wcschr;
  using ::wcscmp;
  using ::wcscoll;
  using ::wcscpy;
  using ::wcscspn;
  using ::wcsftime;
  using ::wcslen;
  using ::wcslcpy;
  using ::wcslcat;
  using ::wcsncat;
  using ::wcsncmp;
  using ::wcsncpy;
  using ::wcspbrk;
  using ::wcsrchr;
  using ::wcsrtombs;
  using ::wcsspn;
  using ::wcsstr;
#ifdef CONFIG_HAVE_DOUBLE
  using ::wcstod;
#endif
  using ::wcstof;
  using ::wcstok;
  using ::wcstol;
#ifdef CONFIG_HAVE_LONG_DOUBLE
  using ::wcstold;
#endif
  using ::wcstoll;
  using ::wcstoul;
  using ::wcstoull;
  using ::wcswcs;
  using ::wcswidth;
  using ::wcsxfrm;
  using ::wctob;
  using ::wctomb;
  using ::wctype;
  using ::wcwidth;
  using ::wmemchr;
  using ::wmemcmp;
  using ::wmemcpy;
  using ::wmemmove;
  using ::wmemset;
  using ::wprintf;
  using ::wscanf;
};

#endif // __INCLUDE_CXX_CWCHAR
