From 5fa0354cd81ae1c0c92821e0f527ef90bbbdb87a Mon Sep 17 00:00:00 2001 From: Gaurav Date: Tue, 20 Oct 2015 14:54:48 +0530 Subject: [PATCH 01/14] Check return value of sprintf again. At other places return value of sprintf is checked, but missed here. --- src/posix_api.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/posix_api.cpp b/src/posix_api.cpp index 8a803b3c..4640ea13 100644 --- a/src/posix_api.cpp +++ b/src/posix_api.cpp @@ -185,10 +185,12 @@ BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorA(int code, const regex_tA* } } #if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) && !defined(UNDER_CE) - (::sprintf_s)(localbuf, 5, "%d", 0); + int r = (::sprintf_s)(localbuf, 5, "%d", 0); #else - (std::sprintf)(localbuf, "%d", 0); + int r = (std::sprintf)(localbuf, "%d", 0); #endif + if(r < 0) + return 0; // sprintf failed if(std::strlen(localbuf) < buf_size) re_detail::strcpy_s(buf, buf_size, localbuf); return std::strlen(localbuf) + 1; From e5986b8f762a2d1c19876ad7583023517338dbfb Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Thu, 22 Oct 2015 11:29:55 +0100 Subject: [PATCH 02/14] Tentative VC7.1 workaround. --- include/boost/regex/v4/match_flags.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/regex/v4/match_flags.hpp b/include/boost/regex/v4/match_flags.hpp index e21de6cf..5fa0b075 100644 --- a/include/boost/regex/v4/match_flags.hpp +++ b/include/boost/regex/v4/match_flags.hpp @@ -71,7 +71,7 @@ typedef enum _match_flags } match_flags; -#if defined(__BORLANDC__) +#if defined(__BORLANDC__) || BOOST_WORKAROUND(BOOST_MSVC, <= 1310) typedef unsigned long match_flag_type; #else typedef match_flags match_flag_type; From b4541fa88efeff69c669536a02ba4ea77597cf3a Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Thu, 22 Oct 2015 13:33:25 +0100 Subject: [PATCH 03/14] Qualify some ambiguous names. --- test/regress/basic_tests.cpp | 20 ++++++++++---------- test/regress/test_replace.cpp | 4 ++-- test/regress/test_simple_repeats.cpp | 6 +++--- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/test/regress/basic_tests.cpp b/test/regress/basic_tests.cpp index 784c2b99..a1251f9b 100644 --- a/test/regress/basic_tests.cpp +++ b/test/regress/basic_tests.cpp @@ -135,16 +135,16 @@ void test_partial_match() TEST_REGEX_SEARCH("\\w*?", perl, "aaa", match_default|match_partial, make_array(0, 3, -2, -2)); TEST_REGEX_SEARCH("(\\w)*?", perl, "aaa", match_default|match_partial, make_array(0, 3, -2, -2)); - TEST_REGEX_SEARCH("(xyz)(.*)abc", extended, "xyzaaab", match_default|match_partial, make_array(0, 7, -2, -2)); - TEST_REGEX_SEARCH("(xyz)(.*)abc", extended, "xyz", match_default|match_partial, make_array(0, 3, -2, -2)); - TEST_REGEX_SEARCH("(xyz)(.*)abc", extended, "xy", match_default|match_partial, make_array(0, 2, -2, -2)); - TEST_REGEX_SEARCH("(xyz)(.*)abc", extended, "x", match_default|match_partial, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("(xyz)(.*)abc", extended, "", match_default|match_partial, make_array(-2, -2)); - TEST_REGEX_SEARCH("(xyz)(.*)abc", extended, "aaaa", match_default|match_partial, make_array(-2, -2)); - TEST_REGEX_SEARCH(".abc", extended, "aaab", match_default|match_partial, make_array(1, 4, -2, -2)); - TEST_REGEX_SEARCH("a[_]", extended, "xxa", match_default|match_partial, make_array(2, 3, -2, -2)); - TEST_REGEX_SEARCH(".{4,}", extended, "xxa", match_default|match_partial, make_array(0, 3, -2, -2)); - TEST_REGEX_SEARCH(".{4,}", extended, "xxa", match_default|match_partial|match_not_dot_null, make_array(0, 3, -2, -2)); + TEST_REGEX_SEARCH("(xyz)(.*)abc", boost::regex::extended, "xyzaaab", match_default|match_partial, make_array(0, 7, -2, -2)); + TEST_REGEX_SEARCH("(xyz)(.*)abc", boost::regex::extended, "xyz", match_default|match_partial, make_array(0, 3, -2, -2)); + TEST_REGEX_SEARCH("(xyz)(.*)abc", boost::regex::extended, "xy", match_default|match_partial, make_array(0, 2, -2, -2)); + TEST_REGEX_SEARCH("(xyz)(.*)abc", boost::regex::extended, "x", match_default|match_partial, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("(xyz)(.*)abc", boost::regex::extended, "", match_default|match_partial, make_array(-2, -2)); + TEST_REGEX_SEARCH("(xyz)(.*)abc", boost::regex::extended, "aaaa", match_default|match_partial, make_array(-2, -2)); + TEST_REGEX_SEARCH(".abc", boost::regex::extended, "aaab", match_default|match_partial, make_array(1, 4, -2, -2)); + TEST_REGEX_SEARCH("a[_]", boost::regex::extended, "xxa", match_default|match_partial, make_array(2, 3, -2, -2)); + TEST_REGEX_SEARCH(".{4,}", boost::regex::extended, "xxa", match_default|match_partial, make_array(0, 3, -2, -2)); + TEST_REGEX_SEARCH(".{4,}", boost::regex::extended, "xxa", match_default|match_partial|match_not_dot_null, make_array(0, 3, -2, -2)); } void test_nosubs() diff --git a/test/regress/test_replace.cpp b/test/regress/test_replace.cpp index be518268..635e6e30 100644 --- a/test/regress/test_replace.cpp +++ b/test/regress/test_replace.cpp @@ -192,7 +192,7 @@ void test_replace() // See https://svn.boost.org/trac/boost/ticket/589 TEST_REGEX_REPLACE("(a*)", perl, "aabb", match_default, "{$1}", "{aa}{}b{}b{}"); - TEST_REGEX_REPLACE("(a*)", extended, "aabb", match_default, "{$1}", "{aa}{}b{}b{}"); - TEST_REGEX_REPLACE("(a*)", extended, "aabb", match_default|match_posix, "{$1}", "{aa}b{}b{}"); + TEST_REGEX_REPLACE("(a*)", boost::regex::extended, "aabb", match_default, "{$1}", "{aa}{}b{}b{}"); + TEST_REGEX_REPLACE("(a*)", boost::regex::extended, "aabb", match_default|match_posix, "{$1}", "{aa}b{}b{}"); } diff --git a/test/regress/test_simple_repeats.cpp b/test/regress/test_simple_repeats.cpp index 1691673a..3fbed7a4 100644 --- a/test/regress/test_simple_repeats.cpp +++ b/test/regress/test_simple_repeats.cpp @@ -174,8 +174,8 @@ void test_simple_repeats() TEST_REGEX_SEARCH("^a(?:bc)?", perl, "abcbc", match_any|match_all, make_array(-2, -2)); TEST_REGEX_SEARCH("a}", perl, "a}", match_default, make_array(0, 2, -2, -2)); TEST_REGEX_SEARCH("a{12b", perl, "a{12bc", match_default, make_array(0, 5, -2, -2)); - TEST_INVALID_REGEX("a{b", extended); - TEST_INVALID_REGEX("a}b", extended); + TEST_INVALID_REGEX("a{b", boost::regex::extended); + TEST_INVALID_REGEX("a}b", boost::regex::extended); test_simple_repeats2(); } @@ -233,7 +233,7 @@ void test_simple_repeats2() void test_fast_repeats() { using namespace boost::regex_constants; - // extended repeat checking to exercise new algorithms: + // boost::regex::extended repeat checking to exercise new algorithms: TEST_REGEX_SEARCH("ab.*xy", perl, "abxy_", match_default, make_array(0, 4, -2, -2)); TEST_REGEX_SEARCH("ab.*xy", perl, "ab_xy_", match_default, make_array(0, 5, -2, -2)); TEST_REGEX_SEARCH("ab.*xy", perl, "abxy", match_default, make_array(0, 4, -2, -2)); From afca81cd76395d39c6df502027f276e7ae6b7ae0 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Thu, 22 Oct 2015 18:02:43 +0100 Subject: [PATCH 04/14] disambiguate "extended" --- test/regress/test_perl_ex.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/regress/test_perl_ex.cpp b/test/regress/test_perl_ex.cpp index 4aad26d4..2f081e2d 100644 --- a/test/regress/test_perl_ex.cpp +++ b/test/regress/test_perl_ex.cpp @@ -167,9 +167,9 @@ void test_options() TEST_REGEX_SEARCH("^ a\\ b[c ]d $", perl|mod_x, "ab d", match_default, make_array(-2, -2)); TEST_REGEX_SEARCH("^1234(?# test newlines\n inside)", perl|mod_x, "1234", match_default, make_array(0, 4, -2, -2)); - TEST_REGEX_SEARCH("^1234 #comment in extended re\n", perl|mod_x, "1234", match_default, make_array(0, 4, -2, -2)); + TEST_REGEX_SEARCH("^1234 #comment in boost::regex::extended re\n", perl|mod_x, "1234", match_default, make_array(0, 4, -2, -2)); TEST_REGEX_SEARCH("#rhubarb\n abcd", perl|mod_x, "abcd", match_default, make_array(0, 4, -2, -2)); - TEST_REGEX_SEARCH("^1234 #comment in extended re\r\n", perl|mod_x, "1234", match_default, make_array(0, 4, -2, -2)); + TEST_REGEX_SEARCH("^1234 #comment in boost::regex::extended re\r\n", perl|mod_x, "1234", match_default, make_array(0, 4, -2, -2)); TEST_REGEX_SEARCH("#rhubarb\r\n abcd", perl|mod_x, "abcd", match_default, make_array(0, 4, -2, -2)); TEST_REGEX_SEARCH("^abcd#rhubarb", perl|mod_x, "abcd", match_default, make_array(0, 4, -2, -2)); TEST_REGEX_SEARCH("^abcd#rhubarb", perl, "abcd#rhubarb", match_default, make_array(0, 12, -2, -2)); From 7cbef4a79bf784184cac69ec7edb4b3e27c94593 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Thu, 22 Oct 2015 18:03:03 +0100 Subject: [PATCH 05/14] Add missing include. --- include/boost/regex/v4/match_flags.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/include/boost/regex/v4/match_flags.hpp b/include/boost/regex/v4/match_flags.hpp index 5fa0b075..1c0046b7 100644 --- a/include/boost/regex/v4/match_flags.hpp +++ b/include/boost/regex/v4/match_flags.hpp @@ -22,6 +22,7 @@ #ifdef __cplusplus # include #endif +#include #ifdef __cplusplus namespace boost{ From 6b36c9a7c67082491c950838fd1cf65713cf5d9b Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Fri, 23 Oct 2015 13:07:04 +0100 Subject: [PATCH 06/14] Fix valgrind detected issues --- test/regress/test_locale.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/regress/test_locale.cpp b/test/regress/test_locale.cpp index f1a6fa21..13aa85b9 100644 --- a/test/regress/test_locale.cpp +++ b/test/regress/test_locale.cpp @@ -64,6 +64,8 @@ test_locale::test_locale(const char* c_name, boost::uint32_t lcid) std::cout << "The C++ locale: " << c_name << " is not available and will not be tested." << std::endl; } #else + m_old_cpp_locale = s_cpp_locale_inst; + m_old_cpp_state = s_cpp_locale; s_cpp_locale = no_test; #endif From e824ddb35b856860a3c723738e8044b9d5bef9b1 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Fri, 23 Oct 2015 13:27:01 +0100 Subject: [PATCH 07/14] Remove redundant check and make it an assert. --- include/boost/regex/v4/fileiter.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/boost/regex/v4/fileiter.hpp b/include/boost/regex/v4/fileiter.hpp index 4873a0a8..256a7e46 100644 --- a/include/boost/regex/v4/fileiter.hpp +++ b/include/boost/regex/v4/fileiter.hpp @@ -225,11 +225,11 @@ public: mapfile_iterator() { node = 0; file = 0; offset = 0; } mapfile_iterator(const mapfile* f, long arg_position) { + BOOST_ASSERT(f); file = f; node = f->_first + arg_position / mapfile::buf_size; offset = arg_position % mapfile::buf_size; - if(file) - file->lock(node); + file->lock(node); } mapfile_iterator(const mapfile_iterator& i) { From 2a525e5aa6213844fe8ea63cbb33e12e639c2402 Mon Sep 17 00:00:00 2001 From: Gaurav Date: Tue, 3 Nov 2015 14:12:17 +0530 Subject: [PATCH 08/14] avoid duplicate check of markid. Markid is already checked to be >0. --- include/boost/regex/v4/basic_regex_parser.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/regex/v4/basic_regex_parser.hpp b/include/boost/regex/v4/basic_regex_parser.hpp index 4a80ab9c..d097eed9 100644 --- a/include/boost/regex/v4/basic_regex_parser.hpp +++ b/include/boost/regex/v4/basic_regex_parser.hpp @@ -2650,7 +2650,7 @@ option_group_jump: // // allow backrefs to this mark: // - if((markid > 0) && (markid < (int)(sizeof(unsigned) * CHAR_BIT))) + if(markid < (int)(sizeof(unsigned) * CHAR_BIT)) this->m_backrefs |= 1u << (markid - 1); } return true; From eb729f6557f04475200fd78feb2cb43c9d6bbbe3 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Sat, 7 Nov 2015 09:13:35 +0000 Subject: [PATCH 09/14] Disable all Win32 API usage on Windows runtime for now, but see also: https://github.com/boostorg/regex/pull/22 for a possible more compete solution. --- include/boost/regex/config.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/regex/config.hpp b/include/boost/regex/config.hpp index 4fd1fd94..9dc48dc8 100644 --- a/include/boost/regex/config.hpp +++ b/include/boost/regex/config.hpp @@ -149,7 +149,7 @@ /* disable our own file-iterators and mapfiles if we can't * support them: */ #if defined(_WIN32) -# if defined(BOOST_REGEX_NO_W32) || BOOST_PLAT_WINDOWS_STORE +# if defined(BOOST_REGEX_NO_W32) || BOOST_PLAT_WINDOWS_RUNTIME # define BOOST_REGEX_NO_FILEITER # endif #else // defined(_WIN32) From b9f55efe9831a62b8842afea8fbf5a8363935729 Mon Sep 17 00:00:00 2001 From: Yucheng Low Date: Tue, 8 Dec 2015 21:17:50 -0800 Subject: [PATCH 10/14] Made the mem_cache_block lockfree This *significantly* improves parallel performance of regex. Currently if I have a large number of threads all using regexes; even if they are using idependent regex objects, performance is still extremely poor due to the lock inside of the mem_block_cache. --- include/boost/regex/v4/mem_block_cache.hpp | 72 ++++++++-------------- src/regex.cpp | 4 +- 2 files changed, 28 insertions(+), 48 deletions(-) diff --git a/include/boost/regex/v4/mem_block_cache.hpp b/include/boost/regex/v4/mem_block_cache.hpp index dc549150..6ef9e403 100644 --- a/include/boost/regex/v4/mem_block_cache.hpp +++ b/include/boost/regex/v4/mem_block_cache.hpp @@ -19,9 +19,7 @@ #define BOOST_REGEX_V4_MEM_BLOCK_CACHE_HPP #include -#ifdef BOOST_HAS_THREADS -#include -#endif +#include #ifdef BOOST_HAS_ABI_HEADERS # include BOOST_ABI_PREFIX @@ -30,59 +28,41 @@ namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ -struct mem_block_node -{ - mem_block_node* next; -}; - struct mem_block_cache { - // this member has to be statically initialsed: - mem_block_node* next; - unsigned cached_blocks; -#ifdef BOOST_HAS_THREADS - boost::static_mutex mut; -#endif + boost::atomic cache[BOOST_REGEX_MAX_CACHE_BLOCKS]; + mem_block_cache() { + for (size_t i = 0;i < BOOST_REGEX_MAX_CACHE_BLOCKS; ++i) { + cache[i].store(NULL); + } + + } ~mem_block_cache() { - while(next) - { - mem_block_node* old = next; - next = next->next; - ::operator delete(old); - } + for (size_t i = 0;i < BOOST_REGEX_MAX_CACHE_BLOCKS; ++i) { + if (cache[i].load()) ::operator delete(cache[i].load()); + } } void* get() { -#ifdef BOOST_HAS_THREADS - boost::static_mutex::scoped_lock g(mut); -#endif - if(next) - { - mem_block_node* result = next; - next = next->next; - --cached_blocks; - return result; - } - return ::operator new(BOOST_REGEX_BLOCKSIZE); + for (size_t i = 0;i < BOOST_REGEX_MAX_CACHE_BLOCKS; ++i) { + void* p = cache[i].load(); + if (p != NULL) { + if (cache[i].compare_exchange_strong(p, NULL)) return p; + } + } + return ::operator new(BOOST_REGEX_BLOCKSIZE); } - void put(void* p) + void put(void* ptr) { -#ifdef BOOST_HAS_THREADS - boost::static_mutex::scoped_lock g(mut); -#endif - if(cached_blocks >= BOOST_REGEX_MAX_CACHE_BLOCKS) - { - ::operator delete(p); - } - else - { - mem_block_node* old = static_cast(p); - old->next = next; - next = old; - ++cached_blocks; - } + for (size_t i = 0;i < BOOST_REGEX_MAX_CACHE_BLOCKS; ++i) { + void* p = cache[i].load(); + if (p == NULL) { + if (cache[i].compare_exchange_strong(p, ptr)) return; + } + } + ::operator delete(ptr); } }; diff --git a/src/regex.cpp b/src/regex.cpp index 03057aac..054bec69 100644 --- a/src/regex.cpp +++ b/src/regex.cpp @@ -192,9 +192,9 @@ BOOST_REGEX_DECL void BOOST_REGEX_CALL put_mem_block(void* p) #else #ifdef BOOST_HAS_THREADS -mem_block_cache block_cache = { 0, 0, BOOST_STATIC_MUTEX_INIT, }; +mem_block_cache block_cache; #else -mem_block_cache block_cache = { 0, 0, }; +mem_block_cache block_cache; #endif BOOST_REGEX_DECL void* BOOST_REGEX_CALL get_mem_block() From 3f14031142b64820a7baf4c744638976375fd5d3 Mon Sep 17 00:00:00 2001 From: Yucheng Low Date: Tue, 15 Dec 2015 14:26:03 -0800 Subject: [PATCH 11/14] Updated with platform checks --- include/boost/regex/v4/mem_block_cache.hpp | 78 +++++++++++++++++++++- src/regex.cpp | 6 +- 2 files changed, 81 insertions(+), 3 deletions(-) diff --git a/include/boost/regex/v4/mem_block_cache.hpp b/include/boost/regex/v4/mem_block_cache.hpp index 6ef9e403..6703ccf1 100644 --- a/include/boost/regex/v4/mem_block_cache.hpp +++ b/include/boost/regex/v4/mem_block_cache.hpp @@ -25,12 +25,26 @@ # include BOOST_ABI_PREFIX #endif +#ifdef BOOST_NO_CXX11_HDR_ATOMIC + #if BOOST_ATOMIC_POINTER_LOCK_FREE == 2 + #define BOOST_REGEX_MEM_BLOCK_CACHE_LOCK_FREE + #define BOOST_REGEX_ATOMIC_POINTER boost::atomic + #endif +#else // BOOST_NOCXX11_HDR_ATOMIC not defined + #include + #if ATOMIC_POINTER_LOCK_FREE == 2 + #define BOOST_REGEX_MEM_BLOCK_CACHE_LOCK_FREE + #define BOOST_REGEX_ATOMIC_POINTER std::atomic + #endif +#endif + namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ +#ifdef BOOST_REGEX_MEM_BLOCK_CACHE_LOCK_FREE /* lock free implementation */ struct mem_block_cache { - boost::atomic cache[BOOST_REGEX_MAX_CACHE_BLOCKS]; + BOOST_REGEX_ATOMIC_POINTER cache[BOOST_REGEX_MAX_CACHE_BLOCKS]; mem_block_cache() { for (size_t i = 0;i < BOOST_REGEX_MAX_CACHE_BLOCKS; ++i) { @@ -66,6 +80,68 @@ struct mem_block_cache } }; +#undef BOOST_REGEX_ATOMIC_POINTER + +#else /* lock-based implementation */ + + +struct mem_block_node +{ + mem_block_node* next; +}; + +struct mem_block_cache +{ + // this member has to be statically initialsed: + mem_block_node* next; + unsigned cached_blocks; +#ifdef BOOST_HAS_THREADS + boost::static_mutex mut; +#endif + + ~mem_block_cache() + { + while(next) + { + mem_block_node* old = next; + next = next->next; + ::operator delete(old); + } + } + void* get() + { +#ifdef BOOST_HAS_THREADS + boost::static_mutex::scoped_lock g(mut); +#endif + if(next) + { + mem_block_node* result = next; + next = next->next; + --cached_blocks; + return result; + } + return ::operator new(BOOST_REGEX_BLOCKSIZE); + } + void put(void* p) + { +#ifdef BOOST_HAS_THREADS + boost::static_mutex::scoped_lock g(mut); +#endif + if(cached_blocks >= BOOST_REGEX_MAX_CACHE_BLOCKS) + { + ::operator delete(p); + } + else + { + mem_block_node* old = static_cast(p); + old->next = next; + next = old; + ++cached_blocks; + } + } +}; +#endif + extern mem_block_cache block_cache; } diff --git a/src/regex.cpp b/src/regex.cpp index 054bec69..560d3be2 100644 --- a/src/regex.cpp +++ b/src/regex.cpp @@ -191,10 +191,12 @@ BOOST_REGEX_DECL void BOOST_REGEX_CALL put_mem_block(void* p) #else -#ifdef BOOST_HAS_THREADS +#if defined(BOOST_REGEX_MEM_BLOCK_CACHE_LOCK_FREE) mem_block_cache block_cache; +#elif defined(BOOST_HAS_THREADS) +mem_block_cache block_cache = { 0, 0, BOOST_STATIC_MUTEX_INIT, }; #else -mem_block_cache block_cache; +mem_block_cache block_cache = { 0, 0, }; #endif BOOST_REGEX_DECL void* BOOST_REGEX_CALL get_mem_block() From a0dfd815169138ff5e63b8bcf06ed1d47edcd8f4 Mon Sep 17 00:00:00 2001 From: Yucheng Low Date: Thu, 31 Dec 2015 15:46:20 -0800 Subject: [PATCH 12/14] Lockfree mem_block_cache only active if std::atomic is available --- include/boost/regex/v4/mem_block_cache.hpp | 17 ++--------------- src/regex.cpp | 2 +- 2 files changed, 3 insertions(+), 16 deletions(-) diff --git a/include/boost/regex/v4/mem_block_cache.hpp b/include/boost/regex/v4/mem_block_cache.hpp index 6703ccf1..3457e9a5 100644 --- a/include/boost/regex/v4/mem_block_cache.hpp +++ b/include/boost/regex/v4/mem_block_cache.hpp @@ -19,18 +19,12 @@ #define BOOST_REGEX_V4_MEM_BLOCK_CACHE_HPP #include -#include #ifdef BOOST_HAS_ABI_HEADERS # include BOOST_ABI_PREFIX #endif -#ifdef BOOST_NO_CXX11_HDR_ATOMIC - #if BOOST_ATOMIC_POINTER_LOCK_FREE == 2 - #define BOOST_REGEX_MEM_BLOCK_CACHE_LOCK_FREE - #define BOOST_REGEX_ATOMIC_POINTER boost::atomic - #endif -#else // BOOST_NOCXX11_HDR_ATOMIC not defined +#ifndef BOOST_NO_CXX11_HDR_ATOMIC #include #if ATOMIC_POINTER_LOCK_FREE == 2 #define BOOST_REGEX_MEM_BLOCK_CACHE_LOCK_FREE @@ -44,14 +38,8 @@ namespace BOOST_REGEX_DETAIL_NS{ #ifdef BOOST_REGEX_MEM_BLOCK_CACHE_LOCK_FREE /* lock free implementation */ struct mem_block_cache { - BOOST_REGEX_ATOMIC_POINTER cache[BOOST_REGEX_MAX_CACHE_BLOCKS]; + std::atomic cache[BOOST_REGEX_MAX_CACHE_BLOCKS]; - mem_block_cache() { - for (size_t i = 0;i < BOOST_REGEX_MAX_CACHE_BLOCKS; ++i) { - cache[i].store(NULL); - } - - } ~mem_block_cache() { for (size_t i = 0;i < BOOST_REGEX_MAX_CACHE_BLOCKS; ++i) { @@ -80,7 +68,6 @@ struct mem_block_cache } }; -#undef BOOST_REGEX_ATOMIC_POINTER #else /* lock-based implementation */ diff --git a/src/regex.cpp b/src/regex.cpp index 560d3be2..e9e97627 100644 --- a/src/regex.cpp +++ b/src/regex.cpp @@ -192,7 +192,7 @@ BOOST_REGEX_DECL void BOOST_REGEX_CALL put_mem_block(void* p) #else #if defined(BOOST_REGEX_MEM_BLOCK_CACHE_LOCK_FREE) -mem_block_cache block_cache; +mem_block_cache block_cache = { { {nullptr} } } ; #elif defined(BOOST_HAS_THREADS) mem_block_cache block_cache = { 0, 0, BOOST_STATIC_MUTEX_INIT, }; #else From d8af53e22286a2f75642715690646dc6f5afc5ad Mon Sep 17 00:00:00 2001 From: Yucheng Low Date: Thu, 31 Dec 2015 15:48:01 -0800 Subject: [PATCH 13/14] restored missing header --- include/boost/regex/v4/mem_block_cache.hpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/boost/regex/v4/mem_block_cache.hpp b/include/boost/regex/v4/mem_block_cache.hpp index 3457e9a5..50af421e 100644 --- a/include/boost/regex/v4/mem_block_cache.hpp +++ b/include/boost/regex/v4/mem_block_cache.hpp @@ -19,6 +19,9 @@ #define BOOST_REGEX_V4_MEM_BLOCK_CACHE_HPP #include +#ifdef BOOST_HAS_THREADS +#include +#endif #ifdef BOOST_HAS_ABI_HEADERS # include BOOST_ABI_PREFIX From 05dc9f4a44fcc9564e8720ba14727f02bd7e49b9 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Sun, 10 Jan 2016 18:44:51 +0000 Subject: [PATCH 14/14] Update docs. --- doc/history.qbk | 6 ++- .../boost_regex/background_information.html | 4 +- .../acknowledgements.html | 2 +- .../background_information/examples.html | 2 +- .../background_information/faq.html | 2 +- .../background_information/futher.html | 2 +- .../background_information/headers.html | 2 +- .../background_information/history.html | 46 +++++++++++-------- .../background_information/locale.html | 2 +- .../background_information/performance.html | 2 +- ...iler_Microsoft_Visual_C_version_14_0_.html | 2 +- ...m_linux_compiler_GNU_C_version_5_1_0_.html | 2 +- ...iler_Microsoft_Visual_C_version_14_0_.html | 2 +- ...m_linux_compiler_GNU_C_version_5_1_0_.html | 2 +- ...iler_Microsoft_Visual_C_version_14_0_.html | 2 +- ...m_linux_compiler_GNU_C_version_5_1_0_.html | 2 +- ...iler_Microsoft_Visual_C_version_14_0_.html | 2 +- ...m_linux_compiler_GNU_C_version_5_1_0_.html | 2 +- .../background_information/redist.html | 2 +- .../background_information/standards.html | 2 +- .../background_information/thread_safety.html | 2 +- doc/html/boost_regex/captures.html | 4 +- doc/html/boost_regex/configuration.html | 6 +-- .../boost_regex/configuration/algorithm.html | 2 +- .../boost_regex/configuration/compiler.html | 2 +- .../boost_regex/configuration/linkage.html | 2 +- .../boost_regex/configuration/locale.html | 2 +- .../boost_regex/configuration/tuning.html | 2 +- doc/html/boost_regex/format.html | 4 +- .../format/boost_format_syntax.html | 2 +- doc/html/boost_regex/format/perl_format.html | 2 +- doc/html/boost_regex/format/sed_format.html | 2 +- doc/html/boost_regex/install.html | 4 +- .../introduction_and_overview.html | 4 +- doc/html/boost_regex/partial_matches.html | 4 +- doc/html/boost_regex/ref.html | 4 +- doc/html/boost_regex/ref/bad_expression.html | 2 +- doc/html/boost_regex/ref/basic_regex.html | 2 +- doc/html/boost_regex/ref/concepts.html | 2 +- .../ref/concepts/charT_concept.html | 2 +- .../ref/concepts/iterator_concepts.html | 2 +- .../ref/concepts/traits_concept.html | 2 +- .../ref/deprecated_interfaces.html | 2 +- .../ref/deprecated_interfaces/old_regex.html | 2 +- .../deprecated_interfaces/regex_format.html | 2 +- .../ref/deprecated_interfaces/regex_grep.html | 2 +- .../deprecated_interfaces/regex_split.html | 2 +- doc/html/boost_regex/ref/error_type.html | 2 +- .../boost_regex/ref/internal_details.html | 2 +- .../ref/internal_details/uni_iter.html | 2 +- doc/html/boost_regex/ref/match_flag_type.html | 2 +- doc/html/boost_regex/ref/match_results.html | 2 +- doc/html/boost_regex/ref/non_std_strings.html | 2 +- .../boost_regex/ref/non_std_strings/icu.html | 2 +- .../ref/non_std_strings/icu/intro.html | 2 +- .../ref/non_std_strings/icu/unicode_algo.html | 2 +- .../ref/non_std_strings/icu/unicode_iter.html | 2 +- .../non_std_strings/icu/unicode_types.html | 2 +- .../ref/non_std_strings/mfc_strings.html | 2 +- .../non_std_strings/mfc_strings/mfc_algo.html | 2 +- .../mfc_strings/mfc_intro.html | 2 +- .../non_std_strings/mfc_strings/mfc_iter.html | 2 +- .../mfc_strings/mfc_regex_create.html | 2 +- .../mfc_strings/mfc_regex_types.html | 2 +- doc/html/boost_regex/ref/posix.html | 2 +- doc/html/boost_regex/ref/regex_iterator.html | 2 +- doc/html/boost_regex/ref/regex_match.html | 2 +- doc/html/boost_regex/ref/regex_replace.html | 2 +- doc/html/boost_regex/ref/regex_search.html | 2 +- .../boost_regex/ref/regex_token_iterator.html | 2 +- doc/html/boost_regex/ref/regex_traits.html | 2 +- doc/html/boost_regex/ref/sub_match.html | 2 +- .../boost_regex/ref/syntax_option_type.html | 2 +- .../syntax_option_type_basic.html | 2 +- .../syntax_option_type_extended.html | 2 +- .../syntax_option_type_literal.html | 2 +- .../syntax_option_type_overview.html | 2 +- .../syntax_option_type_perl.html | 2 +- .../syntax_option_type_synopsis.html | 2 +- doc/html/boost_regex/syntax.html | 4 +- .../boost_regex/syntax/basic_extended.html | 2 +- doc/html/boost_regex/syntax/basic_syntax.html | 2 +- .../boost_regex/syntax/character_classes.html | 2 +- .../optional_char_class_names.html | 2 +- .../character_classes/std_char_classes.html | 2 +- .../boost_regex/syntax/collating_names.html | 2 +- .../syntax/collating_names/digraphs.html | 2 +- .../syntax/collating_names/named_unicode.html | 2 +- .../collating_names/posix_symbolic_names.html | 2 +- .../syntax/leftmost_longest_rule.html | 2 +- doc/html/boost_regex/syntax/perl_syntax.html | 2 +- doc/html/boost_regex/unicode.html | 4 +- doc/html/index.html | 8 ++-- doc/regex.qbk | 2 +- 94 files changed, 138 insertions(+), 126 deletions(-) diff --git a/doc/history.qbk b/doc/history.qbk index d56ead8b..17231392 100644 --- a/doc/history.qbk +++ b/doc/history.qbk @@ -15,7 +15,11 @@ Currently open issues can be viewed [@https://svn.boost.org/trac/boost/query?sta All issues including closed ones can be viewed [@https://svn.boost.org/trac/boost/query?status=assigned&status=closed&status=new&status=reopened&component=regex&order=priority&col=id&col=summary&col=status&col=type&col=milestone&col=component here]. -[h4 Boost.Regex-5.1.0] +[h4 Boost.Regex-5.1.1] + +* Change to lockfree implementation of memory cache, see [@https://github.com/boostorg/regex/pull/23 PR#23]. + +[h4 Boost.Regex-5.1.0 (Boost-1.60.0)] * Add support for Perl's backtracking control verbs, see [@https://svn.boost.org/trac/boost/ticket/11205 #11205]. Note however, that (*MARK) and operations on marks are not currently supported. diff --git a/doc/html/boost_regex/background_information.html b/doc/html/boost_regex/background_information.html index 81cea425..ccf83eda 100644 --- a/doc/html/boost_regex/background_information.html +++ b/doc/html/boost_regex/background_information.html @@ -4,8 +4,8 @@ Background Information - - + + diff --git a/doc/html/boost_regex/background_information/acknowledgements.html b/doc/html/boost_regex/background_information/acknowledgements.html index d8f77968..1844f2ad 100644 --- a/doc/html/boost_regex/background_information/acknowledgements.html +++ b/doc/html/boost_regex/background_information/acknowledgements.html @@ -4,7 +4,7 @@ Acknowledgements - + diff --git a/doc/html/boost_regex/background_information/examples.html b/doc/html/boost_regex/background_information/examples.html index 5427ba94..f8ce5687 100644 --- a/doc/html/boost_regex/background_information/examples.html +++ b/doc/html/boost_regex/background_information/examples.html @@ -4,7 +4,7 @@ Test and Example Programs - + diff --git a/doc/html/boost_regex/background_information/faq.html b/doc/html/boost_regex/background_information/faq.html index 599ee187..f54c918c 100644 --- a/doc/html/boost_regex/background_information/faq.html +++ b/doc/html/boost_regex/background_information/faq.html @@ -4,7 +4,7 @@ FAQ - + diff --git a/doc/html/boost_regex/background_information/futher.html b/doc/html/boost_regex/background_information/futher.html index 7c77de6d..ca17e02b 100644 --- a/doc/html/boost_regex/background_information/futher.html +++ b/doc/html/boost_regex/background_information/futher.html @@ -4,7 +4,7 @@ References and Further Information - + diff --git a/doc/html/boost_regex/background_information/headers.html b/doc/html/boost_regex/background_information/headers.html index 34943b67..bc8c5748 100644 --- a/doc/html/boost_regex/background_information/headers.html +++ b/doc/html/boost_regex/background_information/headers.html @@ -4,7 +4,7 @@ Headers - + diff --git a/doc/html/boost_regex/background_information/history.html b/doc/html/boost_regex/background_information/history.html index 8434f678..21b56489 100644 --- a/doc/html/boost_regex/background_information/history.html +++ b/doc/html/boost_regex/background_information/history.html @@ -4,7 +4,7 @@ History - + @@ -37,7 +37,15 @@

- Boost.Regex-5.1.0 + Boost.Regex-5.1.1 +
+
  • + Change to lockfree implementation of memory cache, see PR#23. +
+
+ + Boost.Regex-5.1.0 + (Boost-1.60.0)
  • @@ -58,7 +66,7 @@
- + Boost.Regex-5.0.1 (Boost-1.58.0)
@@ -91,7 +99,7 @@
- + Boost.Regex-5.0.0 (Boost-1.56.0)
@@ -124,14 +132,14 @@
- + Boost-1.54

Fixed issue #8569.

- + Boost-1.53

@@ -139,7 +147,7 @@ #7644.

- + Boost-1.51

@@ -149,7 +157,7 @@ #6346.

- + Boost-1.50

@@ -158,7 +166,7 @@ expression.

- + Boost-1.48

@@ -168,7 +176,7 @@ #5736.

- + Boost 1.47

@@ -180,7 +188,7 @@ #5504.

- + Boost 1.44

@@ -198,7 +206,7 @@ #3890

- + Boost 1.42
    @@ -226,7 +234,7 @@
- + Boost 1.40
  • @@ -234,7 +242,7 @@ branch resets and recursive regular expressions.
- + Boost 1.38
    @@ -261,7 +269,7 @@
- + Boost 1.34
    @@ -283,7 +291,7 @@
- + Boost 1.33.1
    @@ -352,7 +360,7 @@
- + Boost 1.33.0
    @@ -406,14 +414,14 @@
- + Boost 1.32.1
  • Fixed bug in partial matches of bounded repeats of '.'.
- + Boost 1.31.0
    diff --git a/doc/html/boost_regex/background_information/locale.html b/doc/html/boost_regex/background_information/locale.html index eaca9bfa..0ee1bc01 100644 --- a/doc/html/boost_regex/background_information/locale.html +++ b/doc/html/boost_regex/background_information/locale.html @@ -4,7 +4,7 @@ Localization - + diff --git a/doc/html/boost_regex/background_information/performance.html b/doc/html/boost_regex/background_information/performance.html index 6541e861..aa868e17 100644 --- a/doc/html/boost_regex/background_information/performance.html +++ b/doc/html/boost_regex/background_information/performance.html @@ -4,7 +4,7 @@ Performance - + diff --git a/doc/html/boost_regex/background_information/performance/section_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html b/doc/html/boost_regex/background_information/performance/section_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html index 6d2cda2a..862abe19 100644 --- a/doc/html/boost_regex/background_information/performance/section_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html +++ b/doc/html/boost_regex/background_information/performance/section_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html @@ -4,7 +4,7 @@ Testing Perl searches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.0) - + diff --git a/doc/html/boost_regex/background_information/performance/section_Testing_Perl_searches_platform_linux_compiler_GNU_C_version_5_1_0_.html b/doc/html/boost_regex/background_information/performance/section_Testing_Perl_searches_platform_linux_compiler_GNU_C_version_5_1_0_.html index 239bd1ae..c9bd9ab9 100644 --- a/doc/html/boost_regex/background_information/performance/section_Testing_Perl_searches_platform_linux_compiler_GNU_C_version_5_1_0_.html +++ b/doc/html/boost_regex/background_information/performance/section_Testing_Perl_searches_platform_linux_compiler_GNU_C_version_5_1_0_.html @@ -4,7 +4,7 @@ Testing Perl searches (platform = linux, compiler = GNU C++ version 5.1.0) - + diff --git a/doc/html/boost_regex/background_information/performance/section_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html b/doc/html/boost_regex/background_information/performance/section_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html index acf3b025..a025f045 100644 --- a/doc/html/boost_regex/background_information/performance/section_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html +++ b/doc/html/boost_regex/background_information/performance/section_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html @@ -4,7 +4,7 @@ Testing leftmost-longest searches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.0) - + diff --git a/doc/html/boost_regex/background_information/performance/section_Testing_leftmost_longest_searches_platform_linux_compiler_GNU_C_version_5_1_0_.html b/doc/html/boost_regex/background_information/performance/section_Testing_leftmost_longest_searches_platform_linux_compiler_GNU_C_version_5_1_0_.html index 9be89365..253af96c 100644 --- a/doc/html/boost_regex/background_information/performance/section_Testing_leftmost_longest_searches_platform_linux_compiler_GNU_C_version_5_1_0_.html +++ b/doc/html/boost_regex/background_information/performance/section_Testing_leftmost_longest_searches_platform_linux_compiler_GNU_C_version_5_1_0_.html @@ -4,7 +4,7 @@ Testing leftmost-longest searches (platform = linux, compiler = GNU C++ version 5.1.0) - + diff --git a/doc/html/boost_regex/background_information/performance/section_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html b/doc/html/boost_regex/background_information/performance/section_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html index 19e61793..1756715b 100644 --- a/doc/html/boost_regex/background_information/performance/section_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html +++ b/doc/html/boost_regex/background_information/performance/section_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html @@ -4,7 +4,7 @@ Testing simple Perl matches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.0) - + diff --git a/doc/html/boost_regex/background_information/performance/section_Testing_simple_Perl_matches_platform_linux_compiler_GNU_C_version_5_1_0_.html b/doc/html/boost_regex/background_information/performance/section_Testing_simple_Perl_matches_platform_linux_compiler_GNU_C_version_5_1_0_.html index c018996a..0fd68453 100644 --- a/doc/html/boost_regex/background_information/performance/section_Testing_simple_Perl_matches_platform_linux_compiler_GNU_C_version_5_1_0_.html +++ b/doc/html/boost_regex/background_information/performance/section_Testing_simple_Perl_matches_platform_linux_compiler_GNU_C_version_5_1_0_.html @@ -4,7 +4,7 @@ Testing simple Perl matches (platform = linux, compiler = GNU C++ version 5.1.0) - + diff --git a/doc/html/boost_regex/background_information/performance/section_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html b/doc/html/boost_regex/background_information/performance/section_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html index 25c0e04a..32487345 100644 --- a/doc/html/boost_regex/background_information/performance/section_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html +++ b/doc/html/boost_regex/background_information/performance/section_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html @@ -4,7 +4,7 @@ Testing simple leftmost-longest matches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.0) - + diff --git a/doc/html/boost_regex/background_information/performance/section_Testing_simple_leftmost_longest_matches_platform_linux_compiler_GNU_C_version_5_1_0_.html b/doc/html/boost_regex/background_information/performance/section_Testing_simple_leftmost_longest_matches_platform_linux_compiler_GNU_C_version_5_1_0_.html index e03446f0..0f010ab6 100644 --- a/doc/html/boost_regex/background_information/performance/section_Testing_simple_leftmost_longest_matches_platform_linux_compiler_GNU_C_version_5_1_0_.html +++ b/doc/html/boost_regex/background_information/performance/section_Testing_simple_leftmost_longest_matches_platform_linux_compiler_GNU_C_version_5_1_0_.html @@ -4,7 +4,7 @@ Testing simple leftmost-longest matches (platform = linux, compiler = GNU C++ version 5.1.0) - + diff --git a/doc/html/boost_regex/background_information/redist.html b/doc/html/boost_regex/background_information/redist.html index 12e036b9..c2cf29c3 100644 --- a/doc/html/boost_regex/background_information/redist.html +++ b/doc/html/boost_regex/background_information/redist.html @@ -4,7 +4,7 @@ Redistributables - + diff --git a/doc/html/boost_regex/background_information/standards.html b/doc/html/boost_regex/background_information/standards.html index d595fe68..f73e099e 100644 --- a/doc/html/boost_regex/background_information/standards.html +++ b/doc/html/boost_regex/background_information/standards.html @@ -4,7 +4,7 @@ Standards Conformance - + diff --git a/doc/html/boost_regex/background_information/thread_safety.html b/doc/html/boost_regex/background_information/thread_safety.html index 6ae43523..5aeaad09 100644 --- a/doc/html/boost_regex/background_information/thread_safety.html +++ b/doc/html/boost_regex/background_information/thread_safety.html @@ -4,7 +4,7 @@ Thread Safety - + diff --git a/doc/html/boost_regex/captures.html b/doc/html/boost_regex/captures.html index fcc1f0f0..c308c661 100644 --- a/doc/html/boost_regex/captures.html +++ b/doc/html/boost_regex/captures.html @@ -4,8 +4,8 @@ Understanding Marked Sub-Expressions and Captures - - + + diff --git a/doc/html/boost_regex/configuration.html b/doc/html/boost_regex/configuration.html index 3c47c04c..dac4fa3c 100644 --- a/doc/html/boost_regex/configuration.html +++ b/doc/html/boost_regex/configuration.html @@ -4,9 +4,9 @@ Configuration - - - + + + diff --git a/doc/html/boost_regex/configuration/algorithm.html b/doc/html/boost_regex/configuration/algorithm.html index ac486f70..e29f84e3 100644 --- a/doc/html/boost_regex/configuration/algorithm.html +++ b/doc/html/boost_regex/configuration/algorithm.html @@ -4,7 +4,7 @@ Algorithm Selection - + diff --git a/doc/html/boost_regex/configuration/compiler.html b/doc/html/boost_regex/configuration/compiler.html index 8f29b1ec..6cd9f805 100644 --- a/doc/html/boost_regex/configuration/compiler.html +++ b/doc/html/boost_regex/configuration/compiler.html @@ -4,7 +4,7 @@ Compiler Setup - + diff --git a/doc/html/boost_regex/configuration/linkage.html b/doc/html/boost_regex/configuration/linkage.html index 3b95a7f6..a0d90b37 100644 --- a/doc/html/boost_regex/configuration/linkage.html +++ b/doc/html/boost_regex/configuration/linkage.html @@ -4,7 +4,7 @@ Linkage Options - + diff --git a/doc/html/boost_regex/configuration/locale.html b/doc/html/boost_regex/configuration/locale.html index 0caa33b4..4f13589c 100644 --- a/doc/html/boost_regex/configuration/locale.html +++ b/doc/html/boost_regex/configuration/locale.html @@ -4,7 +4,7 @@ Locale and traits class selection - + diff --git a/doc/html/boost_regex/configuration/tuning.html b/doc/html/boost_regex/configuration/tuning.html index 160439f2..6a8b98ca 100644 --- a/doc/html/boost_regex/configuration/tuning.html +++ b/doc/html/boost_regex/configuration/tuning.html @@ -4,7 +4,7 @@ Algorithm Tuning - + diff --git a/doc/html/boost_regex/format.html b/doc/html/boost_regex/format.html index 5dab932a..8070ea72 100644 --- a/doc/html/boost_regex/format.html +++ b/doc/html/boost_regex/format.html @@ -4,8 +4,8 @@ Search and Replace Format String Syntax - - + + diff --git a/doc/html/boost_regex/format/boost_format_syntax.html b/doc/html/boost_regex/format/boost_format_syntax.html index 627ecfe8..484612c7 100644 --- a/doc/html/boost_regex/format/boost_format_syntax.html +++ b/doc/html/boost_regex/format/boost_format_syntax.html @@ -4,7 +4,7 @@ Boost-Extended Format String Syntax - + diff --git a/doc/html/boost_regex/format/perl_format.html b/doc/html/boost_regex/format/perl_format.html index ba468b6c..26b870d8 100644 --- a/doc/html/boost_regex/format/perl_format.html +++ b/doc/html/boost_regex/format/perl_format.html @@ -4,7 +4,7 @@ Perl Format String Syntax - + diff --git a/doc/html/boost_regex/format/sed_format.html b/doc/html/boost_regex/format/sed_format.html index 9f6114f6..af9ed2bf 100644 --- a/doc/html/boost_regex/format/sed_format.html +++ b/doc/html/boost_regex/format/sed_format.html @@ -4,7 +4,7 @@ Sed Format String Syntax - + diff --git a/doc/html/boost_regex/install.html b/doc/html/boost_regex/install.html index 7604ade8..3a3dc159 100644 --- a/doc/html/boost_regex/install.html +++ b/doc/html/boost_regex/install.html @@ -4,8 +4,8 @@ Building and Installing the Library - - + + diff --git a/doc/html/boost_regex/introduction_and_overview.html b/doc/html/boost_regex/introduction_and_overview.html index 487de150..e95568c5 100644 --- a/doc/html/boost_regex/introduction_and_overview.html +++ b/doc/html/boost_regex/introduction_and_overview.html @@ -4,8 +4,8 @@ Introduction and Overview - - + + diff --git a/doc/html/boost_regex/partial_matches.html b/doc/html/boost_regex/partial_matches.html index abc796b6..6bc7c1da 100644 --- a/doc/html/boost_regex/partial_matches.html +++ b/doc/html/boost_regex/partial_matches.html @@ -4,8 +4,8 @@ Partial Matches - - + + diff --git a/doc/html/boost_regex/ref.html b/doc/html/boost_regex/ref.html index da68dc1e..f2f65319 100644 --- a/doc/html/boost_regex/ref.html +++ b/doc/html/boost_regex/ref.html @@ -4,8 +4,8 @@ Reference - - + + diff --git a/doc/html/boost_regex/ref/bad_expression.html b/doc/html/boost_regex/ref/bad_expression.html index 2272ffd6..f8e92c30 100644 --- a/doc/html/boost_regex/ref/bad_expression.html +++ b/doc/html/boost_regex/ref/bad_expression.html @@ -4,7 +4,7 @@ bad_expression - + diff --git a/doc/html/boost_regex/ref/basic_regex.html b/doc/html/boost_regex/ref/basic_regex.html index 1b53aab3..478dd094 100644 --- a/doc/html/boost_regex/ref/basic_regex.html +++ b/doc/html/boost_regex/ref/basic_regex.html @@ -4,7 +4,7 @@ basic_regex - + diff --git a/doc/html/boost_regex/ref/concepts.html b/doc/html/boost_regex/ref/concepts.html index 1d83c36d..91874b13 100644 --- a/doc/html/boost_regex/ref/concepts.html +++ b/doc/html/boost_regex/ref/concepts.html @@ -4,7 +4,7 @@ Concepts - + diff --git a/doc/html/boost_regex/ref/concepts/charT_concept.html b/doc/html/boost_regex/ref/concepts/charT_concept.html index 5ef51640..576d941a 100644 --- a/doc/html/boost_regex/ref/concepts/charT_concept.html +++ b/doc/html/boost_regex/ref/concepts/charT_concept.html @@ -4,7 +4,7 @@ charT Requirements - + diff --git a/doc/html/boost_regex/ref/concepts/iterator_concepts.html b/doc/html/boost_regex/ref/concepts/iterator_concepts.html index a415a49c..f87698e5 100644 --- a/doc/html/boost_regex/ref/concepts/iterator_concepts.html +++ b/doc/html/boost_regex/ref/concepts/iterator_concepts.html @@ -4,7 +4,7 @@ Iterator Requirements - + diff --git a/doc/html/boost_regex/ref/concepts/traits_concept.html b/doc/html/boost_regex/ref/concepts/traits_concept.html index cf7d1430..329afbb3 100644 --- a/doc/html/boost_regex/ref/concepts/traits_concept.html +++ b/doc/html/boost_regex/ref/concepts/traits_concept.html @@ -4,7 +4,7 @@ Traits Class Requirements - + diff --git a/doc/html/boost_regex/ref/deprecated_interfaces.html b/doc/html/boost_regex/ref/deprecated_interfaces.html index b4aa5713..7b5a0a20 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces.html @@ -4,7 +4,7 @@ Deprecated Interfaces - + diff --git a/doc/html/boost_regex/ref/deprecated_interfaces/old_regex.html b/doc/html/boost_regex/ref/deprecated_interfaces/old_regex.html index 9160b26d..e036a7bc 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/old_regex.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/old_regex.html @@ -4,7 +4,7 @@ High Level Class RegEx (Deprecated) - + diff --git a/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html b/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html index df3c3492..7e889255 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html @@ -4,7 +4,7 @@ regex_format (Deprecated) - + diff --git a/doc/html/boost_regex/ref/deprecated_interfaces/regex_grep.html b/doc/html/boost_regex/ref/deprecated_interfaces/regex_grep.html index 7aaf3186..2e87c0d5 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_grep.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_grep.html @@ -4,7 +4,7 @@ regex_grep (Deprecated) - + diff --git a/doc/html/boost_regex/ref/deprecated_interfaces/regex_split.html b/doc/html/boost_regex/ref/deprecated_interfaces/regex_split.html index faadd89b..0cdcaef7 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_split.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_split.html @@ -4,7 +4,7 @@ regex_split (deprecated) - + diff --git a/doc/html/boost_regex/ref/error_type.html b/doc/html/boost_regex/ref/error_type.html index 13a6c634..7e8ba401 100644 --- a/doc/html/boost_regex/ref/error_type.html +++ b/doc/html/boost_regex/ref/error_type.html @@ -4,7 +4,7 @@ error_type - + diff --git a/doc/html/boost_regex/ref/internal_details.html b/doc/html/boost_regex/ref/internal_details.html index de622082..76033f98 100644 --- a/doc/html/boost_regex/ref/internal_details.html +++ b/doc/html/boost_regex/ref/internal_details.html @@ -4,7 +4,7 @@ Internal Details - + diff --git a/doc/html/boost_regex/ref/internal_details/uni_iter.html b/doc/html/boost_regex/ref/internal_details/uni_iter.html index 855a4aa1..68f57e19 100644 --- a/doc/html/boost_regex/ref/internal_details/uni_iter.html +++ b/doc/html/boost_regex/ref/internal_details/uni_iter.html @@ -4,7 +4,7 @@ Unicode Iterators - + diff --git a/doc/html/boost_regex/ref/match_flag_type.html b/doc/html/boost_regex/ref/match_flag_type.html index 0756b723..103692b9 100644 --- a/doc/html/boost_regex/ref/match_flag_type.html +++ b/doc/html/boost_regex/ref/match_flag_type.html @@ -4,7 +4,7 @@ match_flag_type - + diff --git a/doc/html/boost_regex/ref/match_results.html b/doc/html/boost_regex/ref/match_results.html index a71bf3e4..51bb054e 100644 --- a/doc/html/boost_regex/ref/match_results.html +++ b/doc/html/boost_regex/ref/match_results.html @@ -4,7 +4,7 @@ match_results - + diff --git a/doc/html/boost_regex/ref/non_std_strings.html b/doc/html/boost_regex/ref/non_std_strings.html index d6a5da35..a19c0173 100644 --- a/doc/html/boost_regex/ref/non_std_strings.html +++ b/doc/html/boost_regex/ref/non_std_strings.html @@ -4,7 +4,7 @@ Interfacing With Non-Standard String Types - + diff --git a/doc/html/boost_regex/ref/non_std_strings/icu.html b/doc/html/boost_regex/ref/non_std_strings/icu.html index 019a56a3..2bb8f1e6 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu.html @@ -4,7 +4,7 @@ Working With Unicode and ICU String Types - + diff --git a/doc/html/boost_regex/ref/non_std_strings/icu/intro.html b/doc/html/boost_regex/ref/non_std_strings/icu/intro.html index 9aeaedf9..34eb1ec0 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu/intro.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu/intro.html @@ -4,7 +4,7 @@ Introduction to using Regex with ICU - + diff --git a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html index 85c9b12f..a091f11f 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html @@ -4,7 +4,7 @@ Unicode Regular Expression Algorithms - + diff --git a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html index 6834c767..ae071c66 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html @@ -4,7 +4,7 @@ Unicode Aware Regex Iterators - + diff --git a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_types.html b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_types.html index 1e5b6f01..e9192363 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_types.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_types.html @@ -4,7 +4,7 @@ Unicode regular expression types - + diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings.html index 64bba362..a63587fe 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings.html @@ -4,7 +4,7 @@ Using Boost Regex With MFC Strings - + diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html index 6b64126d..2c6b5ef6 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html @@ -4,7 +4,7 @@ Overloaded Algorithms For MFC String Types - + diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_intro.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_intro.html index 9b9e0da9..25091195 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_intro.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_intro.html @@ -4,7 +4,7 @@ Introduction to Boost.Regex and MFC Strings - + diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html index b84f5941..05f4d904 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html @@ -4,7 +4,7 @@ Iterating Over the Matches Within An MFC String - + diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_create.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_create.html index 3cad6237..85688c5a 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_create.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_create.html @@ -4,7 +4,7 @@ Regular Expression Creation From an MFC String - + diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_types.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_types.html index d31b1c7a..64de2955 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_types.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_types.html @@ -4,7 +4,7 @@ Regex Types Used With MFC Strings - + diff --git a/doc/html/boost_regex/ref/posix.html b/doc/html/boost_regex/ref/posix.html index 0d3b3101..f3d835e6 100644 --- a/doc/html/boost_regex/ref/posix.html +++ b/doc/html/boost_regex/ref/posix.html @@ -4,7 +4,7 @@ POSIX Compatible C API's - + diff --git a/doc/html/boost_regex/ref/regex_iterator.html b/doc/html/boost_regex/ref/regex_iterator.html index f927a874..ff2395e2 100644 --- a/doc/html/boost_regex/ref/regex_iterator.html +++ b/doc/html/boost_regex/ref/regex_iterator.html @@ -4,7 +4,7 @@ regex_iterator - + diff --git a/doc/html/boost_regex/ref/regex_match.html b/doc/html/boost_regex/ref/regex_match.html index 4a74e9fa..ef438d2f 100644 --- a/doc/html/boost_regex/ref/regex_match.html +++ b/doc/html/boost_regex/ref/regex_match.html @@ -4,7 +4,7 @@ regex_match - + diff --git a/doc/html/boost_regex/ref/regex_replace.html b/doc/html/boost_regex/ref/regex_replace.html index e15d296d..de6d0097 100644 --- a/doc/html/boost_regex/ref/regex_replace.html +++ b/doc/html/boost_regex/ref/regex_replace.html @@ -4,7 +4,7 @@ regex_replace - + diff --git a/doc/html/boost_regex/ref/regex_search.html b/doc/html/boost_regex/ref/regex_search.html index 3cc8a33d..48da98bf 100644 --- a/doc/html/boost_regex/ref/regex_search.html +++ b/doc/html/boost_regex/ref/regex_search.html @@ -4,7 +4,7 @@ regex_search - + diff --git a/doc/html/boost_regex/ref/regex_token_iterator.html b/doc/html/boost_regex/ref/regex_token_iterator.html index 67de8b5b..fefb1ad7 100644 --- a/doc/html/boost_regex/ref/regex_token_iterator.html +++ b/doc/html/boost_regex/ref/regex_token_iterator.html @@ -4,7 +4,7 @@ regex_token_iterator - + diff --git a/doc/html/boost_regex/ref/regex_traits.html b/doc/html/boost_regex/ref/regex_traits.html index 86194d03..772e9176 100644 --- a/doc/html/boost_regex/ref/regex_traits.html +++ b/doc/html/boost_regex/ref/regex_traits.html @@ -4,7 +4,7 @@ regex_traits - + diff --git a/doc/html/boost_regex/ref/sub_match.html b/doc/html/boost_regex/ref/sub_match.html index e147e380..b56a709f 100644 --- a/doc/html/boost_regex/ref/sub_match.html +++ b/doc/html/boost_regex/ref/sub_match.html @@ -4,7 +4,7 @@ sub_match - + diff --git a/doc/html/boost_regex/ref/syntax_option_type.html b/doc/html/boost_regex/ref/syntax_option_type.html index 647ed70c..54badea3 100644 --- a/doc/html/boost_regex/ref/syntax_option_type.html +++ b/doc/html/boost_regex/ref/syntax_option_type.html @@ -4,7 +4,7 @@ syntax_option_type - + diff --git a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_basic.html b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_basic.html index ccd4484f..ce4afd66 100644 --- a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_basic.html +++ b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_basic.html @@ -4,7 +4,7 @@ Options for POSIX Basic Regular Expressions - + diff --git a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_extended.html b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_extended.html index 2cabf96a..66045f49 100644 --- a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_extended.html +++ b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_extended.html @@ -4,7 +4,7 @@ Options for POSIX Extended Regular Expressions - + diff --git a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_literal.html b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_literal.html index 8781292b..1dade2a7 100644 --- a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_literal.html +++ b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_literal.html @@ -4,7 +4,7 @@ Options for Literal Strings - + diff --git a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_overview.html b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_overview.html index af206640..6635c237 100644 --- a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_overview.html +++ b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_overview.html @@ -4,7 +4,7 @@ Overview of syntax_option_type - + diff --git a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_perl.html b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_perl.html index a8b64096..b6c31652 100644 --- a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_perl.html +++ b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_perl.html @@ -4,7 +4,7 @@ Options for Perl Regular Expressions - + diff --git a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_synopsis.html b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_synopsis.html index 6b1ea120..78122320 100644 --- a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_synopsis.html +++ b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_synopsis.html @@ -4,7 +4,7 @@ syntax_option_type Synopsis - + diff --git a/doc/html/boost_regex/syntax.html b/doc/html/boost_regex/syntax.html index 4eafebb2..25d7c3d1 100644 --- a/doc/html/boost_regex/syntax.html +++ b/doc/html/boost_regex/syntax.html @@ -4,8 +4,8 @@ Regular Expression Syntax - - + + diff --git a/doc/html/boost_regex/syntax/basic_extended.html b/doc/html/boost_regex/syntax/basic_extended.html index a4a13cc3..9197d9f1 100644 --- a/doc/html/boost_regex/syntax/basic_extended.html +++ b/doc/html/boost_regex/syntax/basic_extended.html @@ -4,7 +4,7 @@ POSIX Extended Regular Expression Syntax - + diff --git a/doc/html/boost_regex/syntax/basic_syntax.html b/doc/html/boost_regex/syntax/basic_syntax.html index a510f1a5..861b05ae 100644 --- a/doc/html/boost_regex/syntax/basic_syntax.html +++ b/doc/html/boost_regex/syntax/basic_syntax.html @@ -4,7 +4,7 @@ POSIX Basic Regular Expression Syntax - + diff --git a/doc/html/boost_regex/syntax/character_classes.html b/doc/html/boost_regex/syntax/character_classes.html index e43a4c5f..977bd6f4 100644 --- a/doc/html/boost_regex/syntax/character_classes.html +++ b/doc/html/boost_regex/syntax/character_classes.html @@ -4,7 +4,7 @@ Character Class Names - + diff --git a/doc/html/boost_regex/syntax/character_classes/optional_char_class_names.html b/doc/html/boost_regex/syntax/character_classes/optional_char_class_names.html index 90119837..531ec1f3 100644 --- a/doc/html/boost_regex/syntax/character_classes/optional_char_class_names.html +++ b/doc/html/boost_regex/syntax/character_classes/optional_char_class_names.html @@ -4,7 +4,7 @@ Character classes that are supported by Unicode Regular Expressions - + diff --git a/doc/html/boost_regex/syntax/character_classes/std_char_classes.html b/doc/html/boost_regex/syntax/character_classes/std_char_classes.html index 923b3add..e3412b29 100644 --- a/doc/html/boost_regex/syntax/character_classes/std_char_classes.html +++ b/doc/html/boost_regex/syntax/character_classes/std_char_classes.html @@ -4,7 +4,7 @@ Character Classes that are Always Supported - + diff --git a/doc/html/boost_regex/syntax/collating_names.html b/doc/html/boost_regex/syntax/collating_names.html index c921127e..96d6d259 100644 --- a/doc/html/boost_regex/syntax/collating_names.html +++ b/doc/html/boost_regex/syntax/collating_names.html @@ -4,7 +4,7 @@ Collating Names - + diff --git a/doc/html/boost_regex/syntax/collating_names/digraphs.html b/doc/html/boost_regex/syntax/collating_names/digraphs.html index fa3bac4d..611bf93e 100644 --- a/doc/html/boost_regex/syntax/collating_names/digraphs.html +++ b/doc/html/boost_regex/syntax/collating_names/digraphs.html @@ -4,7 +4,7 @@ Digraphs - + diff --git a/doc/html/boost_regex/syntax/collating_names/named_unicode.html b/doc/html/boost_regex/syntax/collating_names/named_unicode.html index c61cb73f..8088ff7b 100644 --- a/doc/html/boost_regex/syntax/collating_names/named_unicode.html +++ b/doc/html/boost_regex/syntax/collating_names/named_unicode.html @@ -4,7 +4,7 @@ Named Unicode Characters - + diff --git a/doc/html/boost_regex/syntax/collating_names/posix_symbolic_names.html b/doc/html/boost_regex/syntax/collating_names/posix_symbolic_names.html index 21ba2e5d..cc55942d 100644 --- a/doc/html/boost_regex/syntax/collating_names/posix_symbolic_names.html +++ b/doc/html/boost_regex/syntax/collating_names/posix_symbolic_names.html @@ -4,7 +4,7 @@ POSIX Symbolic Names - + diff --git a/doc/html/boost_regex/syntax/leftmost_longest_rule.html b/doc/html/boost_regex/syntax/leftmost_longest_rule.html index 7a86b576..1ae15359 100644 --- a/doc/html/boost_regex/syntax/leftmost_longest_rule.html +++ b/doc/html/boost_regex/syntax/leftmost_longest_rule.html @@ -4,7 +4,7 @@ The Leftmost Longest Rule - + diff --git a/doc/html/boost_regex/syntax/perl_syntax.html b/doc/html/boost_regex/syntax/perl_syntax.html index cbde9c41..281ac7fb 100644 --- a/doc/html/boost_regex/syntax/perl_syntax.html +++ b/doc/html/boost_regex/syntax/perl_syntax.html @@ -4,7 +4,7 @@ Perl Regular Expression Syntax - + diff --git a/doc/html/boost_regex/unicode.html b/doc/html/boost_regex/unicode.html index a74d9c8d..9671afdb 100644 --- a/doc/html/boost_regex/unicode.html +++ b/doc/html/boost_regex/unicode.html @@ -4,8 +4,8 @@ Unicode and Boost.Regex - - + + diff --git a/doc/html/index.html b/doc/html/index.html index b8d539dd..04819f75 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -1,10 +1,10 @@ -Boost.Regex 5.0.1 +Boost.Regex 5.1.1 - + @@ -22,7 +22,7 @@

    -Boost.Regex 5.0.1

    +Boost.Regex 5.1.1

    John Maddock

    @@ -221,7 +221,7 @@

    - +

    Last revised: October 15, 2015 at 17:25:24 GMT

    Last revised: January 10, 2016 at 18:43:41 GMT


    diff --git a/doc/regex.qbk b/doc/regex.qbk index 838fbfb4..c8ef0088 100644 --- a/doc/regex.qbk +++ b/doc/regex.qbk @@ -8,7 +8,7 @@ [@http://www.boost.org/LICENSE_1_0.txt]) ] [authors [Maddock, John]] - [version 5.0.1] + [version 5.1.1] [/last-revision $Date$] ]