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

📄 config.hpp

📁 CGAL is a collaborative effort of several sites in Europe and Israel. The goal is to make the most i
💻 HPP
📖 第 1 页 / 共 2 页
字号:
*  If there are no exceptions then we must report critical-errors*  the only way we know how; by terminating.*/#  define BOOST_REGEX_NOEH_ASSERT(x)\if(0 == (x))\{\   std::string s("Error: critical regex++ failure in: ");\   s.append(#x);\   std::runtime_error e(s);\   boost::throw_exception(e);\}#else/**  With exceptions then error handling is taken care of and*  there is no need for these checks:*/#  define BOOST_REGEX_NOEH_ASSERT(x)#endif/***************************************************************************** * *  Debugging / tracing support: * ****************************************************************************/#if defined(BOOST_REGEX_DEBUG) && defined(__cplusplus)#  include <iostream>using std::cout;using std::cin;using std::cerr;using std::endl;using std::hex;using std::dec;#  ifndef jm_assert#     define jm_assert(x) assert(x)#  endif#  ifndef jm_trace#     define jm_trace(x) cerr << x << endl;#  endif#  ifndef jm_instrument#     define jm_instrument jm_trace(__FILE__<<"#"<<__LINE__)#  endifnamespace boost{   namespace re_detail{class debug_guard{public:   char g1[32];   const char* pc;   char* pnc;   const char* file;   int line;   char g2[32];   debug_guard(const char* f, int l, const char* p1 = 0, char* p2 = 0);   ~debug_guard();};#  define BOOST_RE_GUARD_STACK boost::re_detail::debug_guard sg(__FILE__, __LINE__);#  define BOOST_RE_GUARD_GLOBAL(x) const char g1##x[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, }; char g2##x[32]; boost::debug_guard g3##x(__FILE__, __LINE__, g1##x, g2##x);   } // namespace re_detail} // namespace boost#else#  define jm_assert(x)#  define jm_trace(x)#  define BOOST_RE_GUARD_STACK#  define BOOST_RE_GUARD_GLOBAL(x)#  ifndef jm_instrument#     define jm_instrument#  endif#endif/***************************************************************************** * *  Stack protection under MS Windows: * ****************************************************************************/#if !defined(BOOST_REGEX_NO_W32) && !defined(BOOST_REGEX_V3)#  if(defined(_WIN32) || defined(_WIN64) || defined(_WINCE)) \        && !defined(__GNUC__) \        && !(defined(__BORLANDC__) && (__BORLANDC__ >= 0x600)) \        && !(defined(__MWERKS__) && (__MWERKS__ <= 0x3003))#     define BOOST_REGEX_HAS_MS_STACK_GUARD#  endif#elif defined(BOOST_REGEX_HAS_MS_STACK_GUARD)#  undef BOOST_REGEX_HAS_MS_STACK_GUARD#endif#if defined(__cplusplus) && defined(BOOST_REGEX_HAS_MS_STACK_GUARD)namespace boost{namespace re_detail{BOOST_REGEX_DECL void BOOST_REGEX_CALL reset_stack_guard_page();}}#endif/***************************************************************************** * *  Error handling: * ****************************************************************************/#if defined(__cplusplus)namespace boost{namespace re_detail{BOOST_REGEX_DECL void BOOST_REGEX_CALL raise_regex_exception(const std::string& s);template <class traits>void raise_error(const traits& t, unsigned code){   (void)t;  // warning suppression   raise_regex_exception(t.error_string(code));}}}#endif/***************************************************************************** * *  Algorithm selection and configuration: * ****************************************************************************/#if !defined(BOOST_REGEX_RECURSIVE) && !defined(BOOST_REGEX_NON_RECURSIVE)#  if defined(BOOST_REGEX_HAS_MS_STACK_GUARD) && !defined(_STLP_DEBUG) && !defined(__STL_DEBUG)#     define BOOST_REGEX_RECURSIVE#  else#     define BOOST_REGEX_NON_RECURSIVE#  endif#endif#ifdef BOOST_REGEX_NON_RECURSIVE#  ifdef BOOST_REGEX_RECURSIVE#     error "Can't set both BOOST_REGEX_RECURSIVE and BOOST_REGEX_NON_RECURSIVE"#  endif#  ifndef BOOST_REGEX_BLOCKSIZE#     define BOOST_REGEX_BLOCKSIZE 4096#  endif#  if BOOST_REGEX_BLOCKSIZE < 512#     error "BOOST_REGEX_BLOCKSIZE must be at least 512"#  endif#  ifndef BOOST_REGEX_MAX_BLOCKS#     define BOOST_REGEX_MAX_BLOCKS 1024#  endif#  ifdef BOOST_REGEX_HAS_MS_STACK_GUARD#     undef BOOST_REGEX_HAS_MS_STACK_GUARD#  endif#  ifndef BOOST_REGEX_MAX_CACHE_BLOCKS#     define BOOST_REGEX_MAX_CACHE_BLOCKS 16#  endif#endif/***************************************************************************** * *  Fix broken compilers that wrongly #define some symbols: * ****************************************************************************/#ifdef __cplusplus// the following may be defined as macros; this is// incompatable with std::something syntax, we have// no choice but to undef them?#ifdef sprintf#undef sprintf#endif#ifdef swprintf#undef swprintf#endif#endif/***************************************************************************** * *  Fix broken broken namespace support: * ****************************************************************************/#if defined(BOOST_NO_STDC_NAMESPACE) && defined(__cplusplus)namespace std{   using ::ptrdiff_t;   using ::size_t;   using ::sprintf;   using ::abs;   using ::setlocale;#  ifndef BOOST_NO_WREGEX#     ifndef BOOST_NO_SWPRINTF   using ::swprintf;#     endif   using ::wcstombs;   using ::mbstowcs;#     if !defined(BOOST_NO_STD_LOCALE) && !defined (__STL_NO_NATIVE_MBSTATE_T) && !defined(_STLP_NO_NATIVE_MBSTATE_T)   using ::mbstate_t;#     endif#  endif /* BOOST_NO_WREGEX */   using ::fseek;   using ::fread;   using ::ftell;   using ::fopen;   using ::fclose;   using ::FILE;#ifdef BOOST_NO_EXCEPTIONS   using ::fprintf;   using ::abort;#endif}#endif/***************************************************************************** * *  helper functions pointer_construct/pointer_destroy: * ****************************************************************************/#ifdef __cplusplusnamespace boost{ namespace re_detail{#ifdef BOOST_MSVC#pragma warning (push)#pragma warning (disable : 4100)#endiftemplate <class T>inline void pointer_destroy(T* p){ p->~T(); (void)p; }#ifdef BOOST_MSVC#pragma warning (pop)#endiftemplate <class T>inline void pointer_construct(T* p, const T& t){ new (p) T(t); }}} // namespaces#endif/***************************************************************************** * *  helper memory allocation functions: * ****************************************************************************/#if defined(__cplusplus) && defined(BOOST_REGEX_NON_RECURSIVE)namespace boost{ namespace re_detail{BOOST_REGEX_DECL void* BOOST_REGEX_CALL get_mem_block();BOOST_REGEX_DECL void BOOST_REGEX_CALL put_mem_block(void*);}} // namespaces#endif/***************************************************************************** * *  Diagnostics: * ****************************************************************************/#ifdef BOOST_REGEX_CONFIG_INFOBOOST_REGEX_DECL void BOOST_REGEX_CALL print_regex_library_info();#endif#if defined(BOOST_REGEX_DIAG)#  pragma message ("BOOST_REGEX_DECL set as: " BOOST_STRINGIZE(BOOST_REGEX_DECL))#  pragma message ("BOOST_REGEX_CALL set as: " BOOST_STRINGIZE(BOOST_REGEX_CALL))#  pragma message ("BOOST_REGEX_CCALL set as: " BOOST_STRINGIZE(BOOST_REGEX_CCALL))#ifdef BOOST_REGEX_USE_C_LOCALE#  pragma message ("Using C locale in regex traits class")#elif BOOST_REGEX_USE_CPP_LOCALE#  pragma message ("Using C++ locale in regex traits class")#else#  pragma message ("Using Win32 locale in regex traits class")#endif#ifdef BOOST_REGEX_DYN_LINK#  pragma message ("Dynamic linking enabled")#endif#ifdef BOOST_REGEX_NO_LIB#  pragma message ("Auto-linking disabled")#endif#ifdef BOOST_REGEX_NO_EXTERNAL_TEMPLATES#  pragma message ("Extern templates disabled")#endif#ifdef BOOST_REGEX_V3#  pragma message ("Using Version 3 regex code")#else#  pragma message ("Using Version 4 regex code")#endif#endif#endif

⌨️ 快捷键说明

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