XML_Types.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    XML_Types.h
00006  *
00007  * This file collects the type definitions for data types
00008  * used in ACE XML parser.
00009  *
00010  *  $Id: XML_Types.h 59843 2004-08-26 15:41:09Z shuston $
00011  *
00012  *  @author Nanbor Wang <nanbor@cs.wustl.edu>
00013  */
00014 //=============================================================================
00015 
00016 #ifndef _ACEXML_XML_TYPES_H_
00017 #define _ACEXML_XML_TYPES_H_
00018 
00019 #include /**/ "ace/pre.h"
00020 #include "ace/config-all.h"
00021 
00022 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00023 #pragma once
00024 #endif /* ACE_LACKS_PRAGMA_ONCE */
00025 
00026 #include "ace/Basic_Types.h"
00027 #include "ace/SString.h"
00028 #include "ace/Functor_String.h"
00029 
00030 # if defined (ACE_HAS_WCHAR) && (ACE_SIZEOF_WCHAR == 2)
00031 typedef wchar_t ACEXML_UTF16;
00032 # else
00033 typedef ACE_USHORT16 ACEXML_UTF16;
00034 # endif /* ACE_HAS_WCHAR && ACE_SIZEOF_WCHAR == 2 */
00035 
00036 # if defined (ACE_HAS_WCHAR) && (ACE_SIZEOF_WCHAR == 4)
00037 typedef wchar_t ACEXML_UCS4;
00038 # else
00039 typedef ACE_UINT32 ACEXML_UCS4;
00040 # endif /* ACE_HAS_WCHAR && ACE_SIZEOF_WCHAR == 4 */
00041 
00042 typedef char ACEXML_UTF8;
00043 
00044 /**
00045  * @typedef ACEXML_Char
00046  * ACEXML_Char only maps to ACEXML_UTF16 when ACE_USES_WCHAR is defined.
00047  * Here we assume sizeof (wchar_t) is always 2 bytes.
00048  *
00049  * Default XML strings will use UTF-8 encoding.  We would like to use
00050  * the string classes in standard C++ Library here.  But they are not
00051  * very portable yet (as far as I know,) and I'll just use ACE_CString
00052  * for now, unless UNICODE support is turned on.  Notice that you
00053  * should never convert strings between ACE_CString and ACE_WString
00054  * using the built-in conversion functions as they only perform simple
00055  * copy without any encoding conversion.
00056  */
00057 typedef ACE_TCHAR ACEXML_Char;
00058 # if defined (ACE_USES_WCHAR)
00059 //typedef ACEXML_UTF16 ACEXML_Char;
00060 typedef ACE_WString ACEXML_String;
00061 # else
00062 //typedef ACEXML_UTF8 ACEXML_Char;
00063 typedef ACE_CString ACEXML_String;
00064 # endif /* ACE_USES_WCHAR */
00065 
00066 # if (!defined (ACEXML_HAS_INLINE) && defined (__ACE_INLINE__)) ||  (ACEXML_HAS_INLINE == 1)
00067 #   define __ACEXML_INLINE__ inline
00068 # else
00069 #   if defined (__ACEXML_INLINE__)
00070 #     undef __ACEXML_INLINE__
00071 #   endif /* __ACEXML_INLINE__ */
00072 # endif /* (!ACEXML_HAS_INLINE) && (__ACE_INLINE__) || (ACEXML_HAS_INLINE == 1) */
00073 
00074 # if defined (__ACEXML_INLINE__)
00075 #   define ACEXML_INLINE inline
00076 # else
00077 #   define ACEXML_INLINE
00078 # endif /* __ACEXML_INLINE */
00079 
00080 
00081 #include /**/ "ace/post.h"
00082 
00083 #endif /* _ACEXML_XML_TYPE_H_ */

Generated on Sun Jan 27 13:04:15 2008 for ACEXML by doxygen 1.3.6