Ne.app NeANT
The Ne.app NeANT User module of the NeANT distribution.
Macros | Typedefs | Enumerations | Functions
wcodecvt.cpp File Reference
#include <rw/_defs.h>
#include <wchar.h>
#include <limits.h>
#include <locale.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <loc/_codecvt.h>
#include <loc/_locale.h>
#include <loc/_localedef.h>
#include <rw/_traits.h>
#include "iso2022.h"
#include "setlocale.h"
#include "use_facet.h"
Include dependency graph for wcodecvt.cpp:

Go to the source code of this file.

Macros

#define _RWSTD_LIB_SRC
 
#define _UTF8_MB_CUR_MAX   6
 
#define ISO2022_TYPE(x)   ((x) & __rw_2022_mask)
 
#define UCS_TYPE(x)   ((x) & __rw_ucs_mask)
 
#define UTF_TYPE(x)   ((x) & __rw_utf_mask)
 
#define IS_UCS(x)   (UCS_TYPE (x) == __rw_ucs)
 
#define IS_UCS_BE(x)   (UCS_TYPE (x) == __rw_ucs_be)
 
#define IS_UCS_LE(x)   (UCS_TYPE (x) == __rw_ucs_le)
 
#define IS_UCS_BE_LE(x)   (UCS_TYPE (x) == __rw_ucs_be_le)
 
#define IS_UCS_LE_BE(x)   (UCS_TYPE (x) == __rw_ucs_le_be)
 
#define IS_UTF8(x)   (UCS_TYPE (x) == __rw_utf8)
 
#define IS_UTF16(x)   (UCS_TYPE (x) == __rw_utf16)
 
#define IS_UTF16_BE(x)   (UCS_TYPE (x) == __rw_utf16_be)
 
#define IS_UTF16_LE(x)   (UCS_TYPE (x) == __rw_utf16_le)
 
#define USE_LIBC(impl, x)    ((!(impl) || ((x) & __rw_use_libc)) && !(UCS_TYPE (x) || UTF_TYPE (x)))
 
#define min(a, b)   ((a) < (b) ? (a) : (b))
 
#define max(a, b)   ((a) > (b)) ? (a) : (b)
 
#define TARGS_W   <wchar_t, char, _RWSTD_MBSTATE_T>
 

Typedefs

typedef _RWSTD_MBSTATE_T StateT
 

Enumerations

enum  {
  __rw_2022_mask = 0x000f , __rw_ucs_be = 0x000010 , __rw_ucs_le = 0x000040 , __rw_ucs = 0x0000f0 ,
  __rw_ucs4_be = 0x000100 , __rw_ucs4_be_le = 0x000200 , __rw_ucs4_le = 0x000400 , __rw_ucs4_le_be = 0x000800 ,
  __rw_ucs4 = 0x000f00 , __rw_ucs2_be = 0x001000 , __rw_ucs2_le = 0x004000 , __rw_ucs2 = 0x00f000 ,
  __rw_utf8 = 0x010000 , __rw_utf16_be = 0x020000 , __rw_utf16_le = 0x040000 , __rw_utf16 = 0x060000 ,
  __rw_strict = 0x100000 , __rw_use_libc = 0x200000 , __rw_ucs_mask , __rw_utf_mask = __rw_utf8 | __rw_utf16_be | __rw_utf16_le
}
 

Functions

 _RWSTD_NAMESPACE (__rw)
 
 _RWSTD_NAMESPACE (std)
 
 _RWSTD_DEFINE_FACET_FACTORY (static, codecvt, TARGS_W, wcodecvt)
 
 _RWSTD_SPECIALIZE_USE_FACET (wcodecvt)
 

Macro Definition Documentation

◆ _RWSTD_LIB_SRC

#define _RWSTD_LIB_SRC

wcodecvt.cpp - definition of codecvt<wchar_t, char, mbstate_t> members

$Id$

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-2008 Rogue Wave Software, Inc.

Definition at line 29 of file wcodecvt.cpp.

◆ _UTF8_MB_CUR_MAX

#define _UTF8_MB_CUR_MAX   6

Definition at line 149 of file wcodecvt.cpp.

◆ IS_UCS

#define IS_UCS (   x)    (UCS_TYPE (x) == __rw_ucs)

Definition at line 199 of file wcodecvt.cpp.

◆ IS_UCS_BE

#define IS_UCS_BE (   x)    (UCS_TYPE (x) == __rw_ucs_be)

Definition at line 200 of file wcodecvt.cpp.

◆ IS_UCS_BE_LE

#define IS_UCS_BE_LE (   x)    (UCS_TYPE (x) == __rw_ucs_be_le)

Definition at line 202 of file wcodecvt.cpp.

◆ IS_UCS_LE

#define IS_UCS_LE (   x)    (UCS_TYPE (x) == __rw_ucs_le)

Definition at line 201 of file wcodecvt.cpp.

◆ IS_UCS_LE_BE

#define IS_UCS_LE_BE (   x)    (UCS_TYPE (x) == __rw_ucs_le_be)

Definition at line 203 of file wcodecvt.cpp.

◆ IS_UTF16

#define IS_UTF16 (   x)    (UCS_TYPE (x) == __rw_utf16)

Definition at line 206 of file wcodecvt.cpp.

◆ IS_UTF16_BE

#define IS_UTF16_BE (   x)    (UCS_TYPE (x) == __rw_utf16_be)

Definition at line 207 of file wcodecvt.cpp.

◆ IS_UTF16_LE

#define IS_UTF16_LE (   x)    (UCS_TYPE (x) == __rw_utf16_le)

Definition at line 208 of file wcodecvt.cpp.

◆ IS_UTF8

#define IS_UTF8 (   x)    (UCS_TYPE (x) == __rw_utf8)

Definition at line 205 of file wcodecvt.cpp.

◆ ISO2022_TYPE

#define ISO2022_TYPE (   x)    ((x) & __rw_2022_mask)

Definition at line 193 of file wcodecvt.cpp.

◆ max

#define max (   a,
  b 
)    ((a) > (b)) ? (a) : (b)

◆ min

#define min (   a,
  b 
)    ((a) < (b) ? (a) : (b))

◆ TARGS_W

#define TARGS_W   <wchar_t, char, _RWSTD_MBSTATE_T>

Definition at line 1761 of file wcodecvt.cpp.

◆ UCS_TYPE

#define UCS_TYPE (   x)    ((x) & __rw_ucs_mask)

Definition at line 196 of file wcodecvt.cpp.

◆ USE_LIBC

#define USE_LIBC (   impl,
  x 
)     ((!(impl) || ((x) & __rw_use_libc)) && !(UCS_TYPE (x) || UTF_TYPE (x)))

Definition at line 211 of file wcodecvt.cpp.

◆ UTF_TYPE

#define UTF_TYPE (   x)    ((x) & __rw_utf_mask)

Definition at line 197 of file wcodecvt.cpp.

Typedef Documentation

◆ StateT

Definition at line 216 of file wcodecvt.cpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
__rw_2022_mask 
__rw_ucs_be 
__rw_ucs_le 
__rw_ucs 
__rw_ucs4_be 
__rw_ucs4_be_le 
__rw_ucs4_le 
__rw_ucs4_le_be 
__rw_ucs4 
__rw_ucs2_be 
__rw_ucs2_le 
__rw_ucs2 
__rw_utf8 
__rw_utf16_be 
__rw_utf16_le 
__rw_utf16 
__rw_strict 
__rw_use_libc 
__rw_ucs_mask 
__rw_utf_mask 

Definition at line 152 of file wcodecvt.cpp.

Function Documentation

◆ _RWSTD_DEFINE_FACET_FACTORY()

_RWSTD_DEFINE_FACET_FACTORY ( static  ,
codecvt  ,
TARGS_W  ,
wcodecvt   
)

◆ _RWSTD_NAMESPACE() [1/2]

_RWSTD_NAMESPACE ( __rw  )

Definition at line 219 of file wcodecvt.cpp.

◆ _RWSTD_NAMESPACE() [2/2]

_RWSTD_NAMESPACE ( std  )

Definition at line 1021 of file wcodecvt.cpp.

◆ _RWSTD_SPECIALIZE_USE_FACET()

_RWSTD_SPECIALIZE_USE_FACET ( wcodecvt  )