📄 _config.h
字号:
/* * * Copyright (c) 1994 * Hewlett-Packard Company * * Copyright (c) 1996,1997 * Silicon Graphics Computer Systems, Inc. * * Copyright (c) 1997 * Moscow Center for SPARC Technology * * Copyright (c) 1999 * Boris Fomitchev * * This material is provided "as is", with absolutely no warranty expressed * or implied. Any use is at your own risk. * * Permission to use or copy this software for any purpose is hereby granted * without fee, provided the above notices are retained on all copies. * Permission to modify the code and to distribute modified code is granted, * provided the above notices are retained, and a notice that the code was * modified is included with the above copyright notice. * */#ifndef _STLP_CONFIG_H# define _STLP_CONFIG_H/* * Purpose of this file : * * Defines all STLport settings. * This file is actually a wrapper : it includes compiler-specific * settings from <config/stlcomp.h> * and user-defined settings from <stl_user_config.h>. * See <config/stl_mycomp.h> and <stl_user_config.h> for the description * of those macros * *//* Other macros defined by this file: * bool, true, and false, if _STLP_NO_BOOL is defined. * typename, as a null macro if it's not already a keyword. * explicit, as a null macro if it's not already a keyword. * namespace-related macros (_STLP_STD, _STLP_BEGIN_NAMESPACE, etc.) * exception-related macros (_STLP_TRY, _STLP_UNWIND, etc.) * _STLP_ASSERT, either as a test or as a null macro, depending on whether or not _STLP_ASSERTIONS is defined.*//* The last SGI STL release we merged with */# define __SGI_STL 0x330/* STLport version */# define _STLPORT_VERSION 0x461/* Placeholder for user to override settings. * It could be also used to mask settings from * different directories. */# include <bits/STLPort/stl_user_config.h>/* ========================================================= *//* This file is used for compatibility; it accepts old-style config switches *///# include <stl/_config_compat.h>/* Common configuration file for this particular installation. */# include <bits/STLPort/_site_config.h>/* Use per-version compiler recognition */# include <bits/STLPort/stlcomp.h>/* ========================================================= *//* some fixes to configuration. This also includes modifications * of STLport switches depending on compiler flags, * or settings applicable to a group of compilers, such as * to all who use EDG front-end. */# include <bits/STLPort/stl_confix.h>/* * Performs integrity check on user-specified parameters * and site-specific settings. */// # include <stl/_check_config.h>/* SGI terms */# if !defined (_STLP_NO_MEMBER_TEMPLATES) && !defined (_STLP_MEMBER_TEMPLATES)# define _STLP_MEMBER_TEMPLATES 1# endif# if !defined (_STLP_NO_FRIEND_TEMPLATES) && !defined (_STLP_FRIEND_TEMPLATES)# define _STLP_FRIEND_TEMPLATES 1# endif# if !defined (_STLP_NO_MEMBER_TEMPLATE_CLASSES) && !defined (_STLP_MEMBER_TEMPLATE_CLASSES)# define _STLP_MEMBER_TEMPLATE_CLASSES 1# endif# if !defined (_STLP_NO_MEMBER_TEMPLATE_CLASSES) && !defined (_STLP_DONT_USE_NESTED_TCLASS_THROUGHT_TPARAM) && !defined (_STLP_USE_NESTED_TCLASS_THROUGHT_TPARAM)# define _STLP_USE_NESTED_TCLASS_THROUGHT_TPARAM 1# endif#if !defined (_STLP_NO_CLASS_PARTIAL_SPECIALIZATION) && !defined (_STLP_CLASS_PARTIAL_SPECIALIZATION)# define _STLP_CLASS_PARTIAL_SPECIALIZATION 1#endif#if !defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER) && !defined (_STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER)# define _STLP_FUNCTION_TMPL_PARTIAL_ORDER 1#endif# if !defined (_STLP_BIG_ENDIAN) && ! defined (_STLP_LITTLE_ENDIAN)# if defined(_MIPSEB) || defined (__sparc) || \ defined (_AIX) || defined (__hpux) || defined(macintosh) || defined (_MAC)# define _STLP_BIG_ENDIAN 1# elif defined(__i386) || defined(_M_IX86) # define _STLP_LITTLE_ENDIAN 1# else# define _STLP_UNKNOWN_ENDIAN 1# endif# endif /* _STLP_BIG_ENDIAN *//* ========================================================== * final workaround tuning based on given flags * ========================================================== */#ifndef _STLP_UINT32_T# define _STLP_UINT32_T unsigned long#endif#ifndef _STLP_ABORT# define _STLP_ABORT() abort()#endif# if !defined (_STLP_HAS_NO_NAMESPACES)# if defined _STLP_NO_NAMESPACES# undef _STLP_USE_NAMESPACES# else/* assume it as the default, turn it off later if NO_NAMESPACES selected */# undef _STLP_USE_NAMESPACES# define _STLP_USE_NAMESPACES 1# endif# endif# if defined (_STLP_NO_IOSTREAMS)# define _STLP_USE_NO_IOSTREAMS# endif# if defined (_STLP_USE_NO_IOSTREAMS)# undef _STLP_USE_NEW_IOSTREAMS# endif# if ( defined (_STLP_OWN_IOSTREAMS) || ! defined (_STLP_HAS_NO_NEW_IOSTREAMS)) \ && ! defined (_STLP_USE_NO_IOSTREAMS) && !defined (_STLP_USE_NEW_IOSTREAMS)# define _STLP_USE_NEW_IOSTREAMS# endif# if defined (_STLP_NO_NEW_IOSTREAMS)# undef _STLP_USE_NEW_IOSTREAMS# undef _STLP_OWN_IOSTREAMS# endif/* Operating system recognition (basic) */# if defined (__unix) || defined (__linux__) || defined (__QNX__) || defined (_AIX) || defined (__NetBSD__) || defined (__Lynx__)# define _STLP_UNIX 1# if defined (__linux__) && ! defined (_STLP_USE_GLIBC)# define _STLP_USE_GLIBC 1# endif# elif defined(macintosh) || defined (_MAC)# define _STLP_MAC 1# elif defined (_WIN32) || defined (__WIN32) || defined (WIN32) || defined (__WIN32__)# define _STLP_WIN32 1# elif defined (__WIN16) || defined (WIN16) || defined (_WIN16)# define _STLP_WIN16# endif /* __unix */# if !defined(_STLP_MAKE_HEADER)# define _STLP_MAKE_HEADER(path, header) <path/header># endif#if !defined (_STLP_NATIVE_HEADER)# if !defined (_STLP_NATIVE_INCLUDE_PATH)# define _STLP_NATIVE_INCLUDE_PATH ../include# endif# define _STLP_NATIVE_HEADER(header) _STLP_MAKE_HEADER(_STLP_NATIVE_INCLUDE_PATH,header)#endif/* For some compilers, C headers like <stdio.h> are located in separate directory */#if !defined (_STLP_NATIVE_C_HEADER)# if !defined (_STLP_NATIVE_C_INCLUDE_PATH)# define _STLP_NATIVE_C_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH# endif# define _STLP_NATIVE_C_HEADER(header) _STLP_MAKE_HEADER(_STLP_NATIVE_C_INCLUDE_PATH,header)#endif/* For some compilers, C-library headers like <cstdio> are located in separate directory */#if !defined (_STLP_NATIVE_CPP_C_HEADER)# if !defined (_STLP_NATIVE_CPP_C_INCLUDE_PATH)# define _STLP_NATIVE_CPP_C_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH# endif# define _STLP_NATIVE_CPP_C_HEADER(header) _STLP_MAKE_HEADER(_STLP_NATIVE_CPP_C_INCLUDE_PATH,header)#endif/* Some compilers have weird placement of old-style iostream headers */#if !defined ( _STLP_NATIVE_OLD_STREAMS_HEADER )# if !defined (_STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH)# define _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH# endif# define _STLP_NATIVE_OLD_STREAMS_HEADER(header) _STLP_MAKE_HEADER(_STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH,header)#endif/* Some compilers locate basic C++ runtime support headers (<new>, <typeinfo>, <exception>) in separate directory */#if !defined ( _STLP_NATIVE_CPP_RUNTIME_HEADER )# if !defined (_STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH)# define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH _STLP_NATIVE_INCLUDE_PATH# endif# define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) _STLP_MAKE_HEADER(_STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH,header)#endif/* shared library tune-up */#if defined (__BUILDING_STLPORT)/* if we are rebuilding right now as a DLL, place everything here */# undef _STLP_DESIGNATED_DLL# define _STLP_DESIGNATED_DLL 1#endif/* Use own namespace always if possible and not explicitly instructed otherwise */# if defined (_STLP_USE_NAMESPACES) && !defined (_STLP_BROKEN_USING_DIRECTIVE) && \ /* !defined (_STLP_OWN_IOSTREAMS) && */ !defined(_STLP_NO_OWN_NAMESPACE)# undef _STLP_USE_OWN_NAMESPACE# define _STLP_USE_OWN_NAMESPACE 1# else# undef _STLP_WHOLE_NATIVE_STD# endif# undef _STLP_NAMESPACE# if !defined(_NOTHREADS) && ! defined (_STLP_THREADS_DEFINED)# ifndef _REENTRANT# define _REENTRANT# endif# if defined(_PTHREADS)# define _STLP_PTHREADS# define _STLP_THREADS# endif# if defined(_UITHREADS)# define _STLP_UITHREADS# define _STLP_THREADS# endif# if defined (__sgi) && ! defined (__KCC) && ! defined (__GNUC__) # define _STLP_SGI_THREADS# elif defined(__DECC) || defined(__DECCXX)# define _STLP_DEC_THREADS# elif defined (_STLP_WIN32) && ! defined (_STLP_PTHREADS)# define _STLP_WIN32THREADS 1# elif ((defined (__sun) && !defined (__linux__)) \ || defined(_UITHREADS) ) && !defined(_STLP_PTHREADS)# define _STLP_UITHREADS# elif defined (__OS2__)# define _STLP_OS2THREADS# elif defined(__BEOS__)# define _STLP_BETHREADS# else# define _STLP_PTHREADS# endif /* __sgi */# define _STLP_THREADS_DEFINED# endif# if defined (_REENTRANT) && ! defined (_STLP_THREADS)# define _STLP_THREADS# endif /* _REENTRANT */// warning : pthread_spinlock code was reported not to work on RedHat 3# if defined(__linux__) && defined(_STLP_USE_PTHREAD_SPINLOCK)# include <features.h># ifndef __USE_XOPEN2K# undef _STLP_USE_PTHREAD_SPINLOCK# endif /* __USE_XOPEN2K */# endif /* __linux__ && _STLP_PTHREADS */# ifndef _STLP_STATIC_MUTEX# define _STLP_STATIC_MUTEX _STLP_mutex_base# endif# if defined (_MFC_VER) && !defined (_STLP_USE_MFC)# define _STLP_USE_MFC 1# endif#if defined (_STLP_THREADS)# define _STLP_VOLATILE volatile/* windows.h _MUST be included before bool definition ;( */# if defined (_STLP_WIN32THREADS) && defined (_STLP_NO_BOOL)# undef NOMINMAX# define NOMINMAX# ifdef _STLP_USE_MFC# include <afx.h># else# include <windows.h># endif# define _STLP_WINDOWS_H_INCLUDED# endif#else# define _STLP_VOLATILE#endif# if !defined ( _STLP_USE_NEW_C_HEADERS ) && !defined ( _STLP_HAS_NO_NEW_C_HEADERS )# define _STLP_USE_NEW_C_HEADERS# endif/* disable new-style headers if requested */# if defined ( _STLP_NO_NEW_C_HEADERS )# undef _STLP_USE_NEW_C_HEADERS# endif# if !defined ( _STLP_STATIC_TEMPLATE_DATA )# define _STLP_STATIC_TEMPLATE_DATA 1# endif# if defined (_STLP_BASE_TYPEDEF_BUG)# undef _STLP_BASE_TYPEDEF_OUTSIDE_BUG# define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1# endif# if defined ( _STLP_NESTED_TYPE_PARAM_BUG ) || (defined (_STLP_MSVC) && (_STLP_MSVC < 1100))# define _STLP_GLOBAL_NESTED_RETURN_TYPE_PARAM_BUG# endif/* SUNpro 4.2 inline string literal bug */#ifdef _STLP_INLINE_STRING_LITERAL_BUG# define _STLP_FIX_LITERAL_BUG(__x) __x=__x;#else# define _STLP_FIX_LITERAL_BUG(__x)#endif# if defined (_STLP_NON_TYPE_TMPL_PARAM_BUG)# undef _STLP_NO_DEFAULT_NON_TYPE_PARAM# define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1# endif# define _STLP_NEW new# define _STLP_PLACEMENT_NEW new# ifdef _STLP_DEBUG# define _STLP_ASSERTIONS 1# endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -