00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file SStringfwd.h 00006 * 00007 * $Id: SStringfwd.h 79211 2007-08-05 19:28:21Z johnnyw $ 00008 * 00009 * Forward declarations and typedefs of ACE string types. 00010 * 00011 * @author Douglas C. Schmidt <schmidt@cs.wustl.edu> 00012 * @author Nanbor Wang <nanbor@cs.wustl.edu> 00013 * @author Ossama Othman <ossama@uci.edu> 00014 */ 00015 //============================================================================= 00016 00017 #ifndef ACE_SSTRINGFWD_H 00018 #define ACE_SSTRINGFWD_H 00019 00020 #include /**/ "ace/pre.h" 00021 00022 #include "ace/Basic_Types.h" /* ACE_WCHAR_T definition */ 00023 00024 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00025 # pragma once 00026 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00027 00028 #if (defined (__HP_aCC) && (36300 <= __HP_aCC) && (__HP_aCC <= 37300)) 00029 // Due to a bug in the aCC 3.xx compiler need to define the ACE_String_Base 00030 // template before we can typedef ACE_CString 00031 # include "ace/String_Base.h" 00032 #endif /* __HP_aCC */ 00033 00034 ACE_BEGIN_VERSIONED_NAMESPACE_DECL 00035 00036 template <class CHAR> class ACE_String_Base; // Forward declaration. 00037 00038 typedef ACE_WCHAR_T ACE_WSTRING_TYPE; 00039 00040 typedef ACE_String_Base<char> ACE_CString; 00041 typedef ACE_String_Base<ACE_WSTRING_TYPE> ACE_WString; 00042 00043 // This allows one to use W or C String based on the Unicode 00044 // setting 00045 #if defined (ACE_USES_WCHAR) 00046 typedef ACE_WString ACE_TString; 00047 #else /* ACE_USES_WCHAR */ 00048 typedef ACE_CString ACE_TString; 00049 #endif /* ACE_USES_WCHAR */ 00050 00051 ACE_END_VERSIONED_NAMESPACE_DECL 00052 00053 #include /**/ "ace/post.h" 00054 00055 #endif /* ACE_SSTRINGFWD_H */