⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 _config.h

📁 symbian上STL模板库的实现
💻 H
📖 第 1 页 / 共 3 页
字号:
/* this one is needed for proper reverse_iterator<> operator ->() handling */#   define _STLP_MSVC50_COMPATIBILITY 1#  endif# endif#if defined ( _STLP_CLASS_PARTIAL_SPECIALIZATION )# if (defined(__IBMCPP__) && (500 <= __IBMCPP__) && (__IBMCPP__ < 600) )# define _STLP_DECLARE_REVERSE_ITERATORS(__reverse_iterator) \   typedef typename _STLP_STD :: reverse_iterator<const_iterator> const_reverse_iterator; \   typedef typename _STLP_STD :: reverse_iterator<iterator> reverse_iterator# elif (defined (__sgi) && ! defined (__GNUC__)) || defined (__SUNPRO_CC) || defined (__xlC__)#  define _STLP_DECLARE_REVERSE_ITERATORS(__reverse_iterator) \   typedef _STLP_STD:: _STLP_TEMPLATE reverse_iterator<const_iterator> const_reverse_iterator; \   typedef _STLP_STD:: _STLP_TEMPLATE reverse_iterator<iterator> reverse_iterator# else#  define _STLP_DECLARE_REVERSE_ITERATORS(__reverse_iterator) \   typedef _STLP_STD::reverse_iterator<const_iterator> const_reverse_iterator; \   typedef _STLP_STD::reverse_iterator<iterator> reverse_iterator# endif#else /* _STLP_CLASS_PARTIAL_SPECIALIZATION */# if defined (_STLP_MSVC50_COMPATIBILITY)# define _STLP_DECLARE_REVERSE_ITERATORS(__reverse_iterator) \  typedef _STLP_STD::__reverse_iterator<const_iterator, value_type, const_reference, \    const_pointer, difference_type>  const_reverse_iterator; \  typedef _STLP_STD::__reverse_iterator<iterator, value_type, reference, pointer, difference_type> \    reverse_iterator# else# define _STLP_DECLARE_REVERSE_ITERATORS(__reverse_iterator) \  typedef _STLP_STD::__reverse_iterator<const_iterator, value_type, const_reference, \    difference_type>  const_reverse_iterator; \  typedef _STLP_STD::__reverse_iterator<iterator, value_type, \    reference, difference_type> \    reverse_iterator# endif#endif /* _STLP_CLASS_PARTIAL_SPECIALIZATION */# define _STLP_DECLARE_BIDIRECTIONAL_REVERSE_ITERATORS \         _STLP_DECLARE_REVERSE_ITERATORS(reverse_bidirectional_iterator)# define _STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS \         _STLP_DECLARE_REVERSE_ITERATORS(reverse_iterator)#  define __IMPORT_CONTAINER_TYPEDEFS(_Super)                            \    typedef typename _Super::value_type value_type;                      \    typedef typename _Super::size_type size_type;                        \    typedef typename _Super::difference_type difference_type;            \    typedef typename _Super::reference reference;                        \    typedef typename _Super::const_reference const_reference;            \    typedef typename _Super::pointer pointer;                            \    typedef typename _Super::const_pointer const_pointer;                \    typedef typename _Super::allocator_type allocator_type;#  define __IMPORT_ITERATORS(_Super)                                     \    typedef typename _Super::iterator iterator;                                   \    typedef typename _Super::const_iterator const_iterator; #  define __IMPORT_REVERSE_ITERATORS(_Super)                             \    typedef typename _Super::const_reverse_iterator  const_reverse_iterator;      \    typedef typename _Super::reverse_iterator reverse_iterator;#  define  __IMPORT_SUPER_COPY_ASSIGNMENT(__derived_name, _Self, _SUPER)         \    __derived_name(const _Super& __x) : _SUPER(__x) {}          \    _Self& operator=(const _Super& __x) {                       \        *(_Super*)this = __x;                                   \        return *this;                                           \    }  \    __derived_name(const _Self& __x) : _SUPER(__x) {}          \    _Self& operator=(const _Self& __x) {                       \        *(_Super*)this = __x;                                   \        return *this;                                           \    }# define __IMPORT_WITH_ITERATORS(_Super) \__IMPORT_CONTAINER_TYPEDEFS(_Super) __IMPORT_ITERATORS(_Super)# define __IMPORT_WITH_REVERSE_ITERATORS(_Super) \__IMPORT_WITH_ITERATORS(_Super) __IMPORT_REVERSE_ITERATORS(_Super)# if defined (_STLP_TRIVIAL_CONSTRUCTOR_BUG) #  define __TRIVIAL_CONSTRUCTOR(__type) __type() {}  # else#  define __TRIVIAL_CONSTRUCTOR(__type)# endif# if defined (_STLP_TRIVIAL_DESTRUCTOR_BUG)#  define __TRIVIAL_DESTRUCTOR(__type) ~__type() {}  # else#  define __TRIVIAL_DESTRUCTOR(__type) # endif#  define __TRIVIAL_STUFF(__type)  \  __TRIVIAL_CONSTRUCTOR(__type) __TRIVIAL_DESTRUCTOR(__type)# if ! (defined ( _STLP_NO_EXCEPTIONS ) || defined (_STLP_HAS_NO_EXCEPTIONS) \	|| defined ( _STLP_USE_EXCEPTIONS ))#  define _STLP_USE_EXCEPTIONS# endif # ifdef _STLP_USE_EXCEPTIONS#   define _STLP_TRY try#   define _STLP_CATCH_ALL catch(...)#   ifndef _STLP_THROW#    define _STLP_THROW(x) throw x#   endif#   define _STLP_RETHROW throw#   define _STLP_UNWIND(action) catch(...) { action; throw; }#   ifdef _STLP_THROW_RETURN_BUG#     define _STLP_RET_AFTER_THROW(data) return data#   else#     define _STLP_RET_AFTER_THROW(data)#   endif#   if !defined ( _STLP_NO_EXCEPTION_SPEC )#    define _STLP_THROWS_INHERENTLY(x) throw x#    define _STLP_NOTHROW_INHERENTLY throw()#   else#    define _STLP_THROWS_INHERENTLY(x)#    define _STLP_NOTHROW_INHERENTLY #   endif/* We do not use exception throw specifications unless we are forced to */#   define _STLP_THROWS(x)#   define _STLP_NOTHROW # else#   define _STLP_TRY #   define _STLP_CATCH_ALL if (false)#   ifndef _STLP_THROW#    define _STLP_THROW(x)#   endif#   define _STLP_RETHROW {}#   define _STLP_UNWIND(action) #   define _STLP_THROWS(x)#   define _STLP_NOTHROW#   define _STLP_RET_AFTER_THROW(data)#   define _STLP_THROWS_INHERENTLY(x)#   define _STLP_NOTHROW_INHERENTLY # endif#if defined(_STLP_NO_BOOL)# if (defined (__IBMCPP__) && (__IBMCPP__ < 400)) && ! defined (_AIX)#  include <isynonym.hpp>#  if defined (__OS400__)    typedef int bool;#  elif !( defined (__xlC__) || defined (_AIX))    typedef Boolean bool;#  endif# else#  if defined(_STLP_YVALS_H)#   include <yvals.h>#  else#    if defined (_STLP_DONT_USE_BOOL_TYPEDEF)#     define bool int#    else      typedef int bool;#    endif#    define true 1#    define false 0#  endif# endif /* __IBMCPP__ */#else#    define _STLP_BOOL_KEYWORD 1#endif /* _STLP_NO_BOOL */# ifndef _STLP_MPW_EXTRA_CONST#  define _STLP_MPW_EXTRA_CONST# endif# ifndef _STLP_DEFAULTCHAR#  define _STLP_DEFAULTCHAR char# endif# if defined (_STLP_DEBUG_ALLOC) && ! defined (_STLP_ASSERTIONS)#  define _STLP_ASSERTIONS 1# endif/* uninitialized value filler */# ifndef _STLP_SHRED_BYTE/* This value is designed to cause problems if an error occurs */#   define _STLP_SHRED_BYTE 0xA3# endif /* _STLP_SHRED_BYTE *//* shared library tune-up */# ifndef _STLP_IMPORT_DECLSPEC#  define _STLP_IMPORT_DECLSPEC# endif/* a keyword used to instantiate export template */#  ifndef _STLP_EXPORT_TEMPLATE_KEYWORD#   define _STLP_EXPORT_TEMPLATE_KEYWORD#  endif# ifndef _STLP_IMPORT_TEMPLATE_KEYWORD#  define _STLP_IMPORT_TEMPLATE_KEYWORD# endif# if  defined (_STLP_DLLEXPORT_NEEDS_PREDECLARATION) && defined (_STLP_USE_DECLSPEC)#  if ! defined (_STLP_USE_TEMPLATE_EXPORT)/* this setting turns on "extern template" extension use */#   define _STLP_USE_TEMPLATE_EXPORT#  endif#  if defined (_STLP_DESIGNATED_DLL) && ! defined (_STLP_NO_FORCE_INSTANTIATE)#   define _STLP_NO_FORCE_INSTANTIATE#  endif# endif#   if defined (_STLP_DESIGNATED_DLL) /* This is a lib which will contain STLport exports */#    define  _STLP_EXPORT          _STLP_EXPORT_TEMPLATE_KEYWORD#   else#    define  _STLP_EXPORT          _STLP_IMPORT_TEMPLATE_KEYWORD#  endif# ifndef _STLP_EXPORT_TEMPLATE#  define  _STLP_EXPORT_TEMPLATE _STLP_EXPORT template# endif# if defined (_STLP_USE_DECLSPEC) /* using export/import technique */#  ifndef _STLP_EXPORT_DECLSPEC#   define _STLP_EXPORT_DECLSPEC#  endif#  ifndef _STLP_IMPORT_DECLSPEC#   define _STLP_IMPORT_DECLSPEC#  endif#  ifndef _STLP_CLASS_EXPORT_DECLSPEC#   define _STLP_CLASS_EXPORT_DECLSPEC#  endif#  ifndef _STLP_CLASS_IMPORT_DECLSPEC#   define _STLP_CLASS_IMPORT_DECLSPEC#  endif#  if defined (_STLP_DESIGNATED_DLL) /* This is a lib which will contain STLport exports */#   define  _STLP_DECLSPEC        _STLP_EXPORT_DECLSPEC #   define  _STLP_CLASS_DECLSPEC  _STLP_CLASS_EXPORT_DECLSPEC #  else#   define  _STLP_DECLSPEC        _STLP_IMPORT_DECLSPEC   /* Other modules, importing STLport exports */#   define  _STLP_CLASS_DECLSPEC  _STLP_CLASS_IMPORT_DECLSPEC#  endif#  ifndef _STLP_STATIC_CONST_INIT_BUG// constant data members cannot be exported; using workaround here#   define _STLP_STATIC_CONST_INIT_BUG#  endif# else /* Not using DLL export/import specifications */#  define _STLP_DECLSPEC#  define _STLP_CLASS_DECLSPEC# endif#  define _STLP_EXPORT_TEMPLATE_CLASS _STLP_EXPORT template class _STLP_CLASS_DECLSPEC#  if defined (_STLP_MSVC) || defined (__ICL) #   define _STLP_STATIC_MEMBER_DECLSPEC#  else#   define _STLP_STATIC_MEMBER_DECLSPEC _STLP_DECLSPEC#  endif# if !defined (_STLP_CALL)#   define _STLP_CALL# endif#ifdef _STLP_OWN_IOSTREAMS#  if defined (__DECCXX) && ! defined (__USE_STD_IOSTREAM)#   define __USE_STD_IOSTREAM#  endif/* We only need to expose details of streams implementation    if we use non-standard i/o or are building STLport*/# if defined (__BUILDING_STLPORT) ||  defined (_STLP_NO_FORCE_INSTANTIATE) || !defined(_STLP_NO_CUSTOM_IO)#  define _STLP_EXPOSE_STREAM_IMPLEMENTATION 1# endif/* We only need to expose details of global implementation if we are building STLport    or have not instantiated everything in the lib */# if defined (__BUILDING_STLPORT) || defined (_STLP_NO_FORCE_INSTANTIATE)#   undef  _STLP_EXPOSE_GLOBALS_IMPLEMENTATION#   define _STLP_EXPOSE_GLOBALS_IMPLEMENTATION 1# endif#else/* when we are not using SGI iostreams, we must expose globals, but not streams implementation */#  define _STLP_EXPOSE_GLOBALS_IMPLEMENTATION#endif# ifdef _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS#  define _STLP_PSPEC2(t1,t2) < t1,t2 >#  define _STLP_PSPEC3(t1,t2,t3) < t1,t2,t3 ># else#  define _STLP_PSPEC2(t1,t2)	/* nothing */#  define _STLP_PSPEC3(t1,t2,t3)	/* nothing */# endif# ifdef _STLP_OPERATOR_SPEC_NEEDS_TEMPLATE_ARGS#  define _STLP_OPSPEC2(t1,t2) < t1,t2 ># else#  define _STLP_OPSPEC2(t1,t2)	/* nothing */# endif//Activation of the partial template workaround:# if !defined(_STLP_DONT_USE_PARTIAL_SPEC_WRKD) \    && (!defined(_STLP_CLASS_PARTIAL_SPECIALIZATION) || !defined(_STLP_FUNCTION_TMPL_PARTIAL_ORDER))#  define _STLP_USE_PARTIAL_SPEC_WORKAROUND# endif# if defined (_STLP_OWN_IOSTREAMS)#  define _STLP_NEW_IO_NAMESPACE _STLP_STD#  define _STLP_NO_WIDE_STREAMS  _STLP_NO_WCHAR_T# else#  ifdef _STLP_USE_NEW_IOSTREAMS#   define _STLP_NEW_IO_NAMESPACE _STLP_VENDOR_STD#   ifdef _STLP_NO_NATIVE_WIDE_STREAMS#    define _STLP_NO_WIDE_STREAMS _STLP_NO_NATIVE_WIDE_STREAMS#   endif /* _STLP_NO_NATIVE_WIDE_STREAMS */#  else#   define _STLP_NO_WIDE_STREAMS#   define _STLP_NEW_IO_NAMESPACE#  endif# endif#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE# define _STLP_RELOPS_OPERATORS(_TMPL, _TP) \_TMPL inline bool _STLP_CALL operator!=(const _TP& __x, const _TP& __y) {return !(__x == __y);}\_TMPL inline bool _STLP_CALL operator>(const _TP& __x, const _TP& __y)  {return __y < __x;}\_TMPL inline bool _STLP_CALL operator<=(const _TP& __x, const _TP& __y) { return !(__y < __x);}\_TMPL inline bool _STLP_CALL operator>=(const _TP& __x, const _TP& __y) { return !(__x < __y);}# else#  define _STLP_RELOPS_OPERATORS(_TMPL, _TP)# endif# if defined (_STLP_FULL_ADL_IMPLEMENTED) && defined (_STLP_NO_OWN_IOSTREAMS)#  error "Invalid configuration, STLport wrapper iostream mode can't be used with compiler"\         "implementing full Argument Dependent Lookup. Please remove _STLP_NO_OWN_IOSTREAMS switch"\         "and build STLport library."# endif /* _STLP_FULL_ADL_IMPLEMENTED && _STLP_NO_OWN_IOSTREAMS */# if defined ( _STLP_USE_ABBREVS )#  include <stl/_abbrevs.h># endif/* some cleanup */# undef _STLP_DONT_USE_BOOL_TYPEDEF# undef _STLP_YVALS_H# undef _STLP_LOOP_INLINE_PROBLEMS# undef _STLP_NEED_EXPLICIT# undef _STLP_NEED_TYPENAME# undef _STLP_NO_NEW_STYLE_CASTS# undef __AUTO_CONFIGURED#endif /* _STLP_CONFIG_H *//* Local Variables: mode:C++ End:*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -