diff --git a/include/boost/regex/config/allocator.hpp b/include/boost/regex/config/allocator.hpp deleted file mode 100644 index 33d56087..00000000 --- a/include/boost/regex/config/allocator.hpp +++ /dev/null @@ -1,281 +0,0 @@ -/* - * - * Copyright (c) 2001 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - -#ifndef BOOST_DETAIL_ALLOCATOR_HPP -#define BOOST_DETAIL_ALLOCATOR_HPP - -#include -#include -#include -#include -#if defined(BOOST_NO_STDC_NAMESPACE) -namespace std{ -using ::ptrdiff_t; -using ::size_t; -} -#endif - -// see if we have SGI alloc class: -#if defined(BOOST_NO_STD_ALLOCATOR) && (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) || defined(__GLIBCPP__) || defined(__STL_CONFIG_H)) -# define BOOST_HAVE_SGI_ALLOCATOR -# include -# if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) -namespace boost{ namespace detail{ - typedef std::__sgi_alloc alloc_type; -}} -# else -namespace boost{ namespace detail{ - typedef std::alloc alloc_type; -}} -# endif -#endif - - -namespace boost{ namespace detail{ - -template -void allocator_construct(T* p, const T& t) -{ new (p) T(t); } - -template -void allocator_destroy(T* p) -{ - (void)p; // warning suppression - p->~T(); -} - -} } - -#if !defined(BOOST_NO_STD_ALLOCATOR) - -#include - -#define BOOST_DEFAULT_ALLOCATOR(T) std::allocator< T > - -namespace boost{ namespace detail{ - -template -struct rebind_allocator -{ - typedef typename A::template rebind binder; - typedef typename binder::other type; -}; - -} // namespace detail -} // namespace boost - -#elif !defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(__SUNPRO_CC) - -// no std::allocator, but the compiler supports the necessary syntax, -// write our own allocator instead: - -#define BOOST_DEFAULT_ALLOCATOR(T) ::boost::detail::allocator< T > - -namespace boost{ namespace detail{ - -template -class allocator -{ -public: - - typedef T value_type; - typedef value_type * pointer; - typedef const T* const_pointer; - typedef T& reference; - typedef const T& const_reference; - typedef std::size_t size_type; - typedef std::ptrdiff_t difference_type; - - template - struct rebind - { - typedef allocator other; - }; - - allocator(){} - - template - allocator(const allocator&){} - - allocator(const allocator&){} - - template - allocator& operator=(const allocator&) - { return *this; } - - ~allocator(){} - - pointer address(reference x) { return &x; } - - const_pointer address(const_reference x) const { return &x; } - - pointer allocate(size_type n, const void* = 0) - { - #ifdef BOOST_HAVE_SGI_ALLOCATOR - return n != 0 ? - reinterpret_cast(alloc_type::allocate(n * sizeof(value_type))) - : 0; - #else - return n != 0 ? - reinterpret_cast(::operator new(n * sizeof(value_type))) - : 0; - #endif - } - - void deallocate(pointer p, size_type n) - { - #ifdef BOOST_HAVE_SGI_ALLOCATOR - BOOST_ASSERT( (p == 0) == (n == 0) ); - if (p != 0) - alloc_type::deallocate((void*)p, n); - #else - BOOST_ASSERT( (p == 0) == (n == 0) ); - if (p != 0) - ::operator delete((void*)p); - #endif - } - - size_type max_size() const - { return size_t(-1) / sizeof(value_type); } - - void construct(pointer p, const T& val) const - { allocator_construct(p, val); } - - void destroy(pointer p) const - { allocator_destroy(p); } -}; - -template -struct rebind_allocator -{ - typedef typename A::template rebind binder; - typedef typename binder::other type; -}; - -} // namespace detail -} // namespace boost - -#else - -// no std::allocator, use workaround version instead, -// each allocator class must derive from a base class -// that allocates blocks of bytes: - -#define BOOST_DEFAULT_ALLOCATOR(T) ::boost::detail::allocator_adapter - -namespace boost{ namespace detail{ - -class simple_alloc -{ -public: - - typedef void value_type; - typedef value_type * pointer; - typedef const void* const_pointer; - typedef std::size_t size_type; - typedef std::ptrdiff_t difference_type; - - simple_alloc(){} - simple_alloc(const simple_alloc&){} - - ~simple_alloc(){} - - pointer allocate(size_type n, const void* = 0) - { - #ifdef BOOST_HAVE_SGI_ALLOCATOR - return n != 0 ? - reinterpret_cast(alloc_type::allocate(n)) - : 0; - #else - return n != 0 ? - reinterpret_cast(::operator new(n)) - : 0; - #endif - } - - void deallocate(pointer p, size_type n) - { - #ifdef BOOST_HAVE_SGI_ALLOCATOR - BOOST_ASSERT( (p == 0) == (n == 0) ); - if (p != 0) - alloc_type::deallocate((void*)p, n); - #else - BOOST_ASSERT( (p == 0) == (n == 0) ); - if (p != 0) - ::operator delete((void*)p); - #endif - } -}; - -template -class allocator_adapter : public Base -{ -public: - - typedef T value_type; - typedef value_type * pointer; - typedef const T* const_pointer; - typedef T& reference; - typedef const T& const_reference; - typedef size_t size_type; - typedef std::ptrdiff_t difference_type; - typedef Base base_type; - - allocator_adapter(){} - allocator_adapter(const base_type& x) : Base(x){} - allocator_adapter& operator=(const base_type& x) - { - *(static_cast(this)) = x; - return *this; - } - - ~allocator_adapter(){} - - pointer address(reference x) { return &x; } - - const_pointer address(const_reference x) const { return &x; } - - pointer allocate(size_type n, const void* = 0) - { - return n != 0 ? - reinterpret_cast(base_type::allocate(n * sizeof(value_type))) - : 0; - } - - void deallocate(pointer p, size_type n) - { - BOOST_ASSERT( (p == 0) == (n == 0) ); - if (p != 0) - static_cast(this)->deallocate((void*)p, n * sizeof(value_type)); - } - - size_type max_size() const - { return size_t(-1) / sizeof(value_type); } - - void construct(pointer p, const T& val) const - { allocator_construct(p, val); } - - void destroy(pointer p) const - { allocator_destroy(p); } -}; - -template -struct rebind_allocator -{ - typedef allocator_adapter type; -}; - -} // namespace detail -} // namespace boost - -#endif - -#endif // include guard diff --git a/include/boost/regex/config/regex_library_include.hpp b/include/boost/regex/config/regex_library_include.hpp deleted file mode 100644 index b9b89b2a..00000000 --- a/include/boost/regex/config/regex_library_include.hpp +++ /dev/null @@ -1,204 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_libary_include.hpp - * VERSION see - * DESCRIPTION: Automatic library inclusion for Borland/Microsoft compilers. - * Note this is an internal header file included - * by regex.hpp, do not include on its own. - */ - -/************************************************************************* - -Libraries for Borland and Microsoft compilers are automatically -selected here, the name of the lib is selected according to the following -formula: - -BOOST_LIB_PREFIX - + BOOST_LIB_NAME - + "_" - + BOOST_LIB_TOOLSET - + "_" - + BOOST_LIB_THREAD_OPT - + BOOST_LIB_RT_OPT - + BOOST_LIB_DEBUG_OPT - -These are defined as: - -BOOST_LIB_PREFIX: "lib" for static libraries otherwise "". - -BOOST_LIB_NAME: The base name of the lib (boost_regex). - -BOOST_LIB_TOOLSET: The compiler toolset name (vc6, vc7, bcb5 etc). - -BOOST_LIB_THREAD_OPT: "s" for single thread builds, - "m" for multithread builds. - -BOOST_LIB_RT_OPT: "s" for static runtime, - "d" for dynamic runtime. - -BOOST_LIB_DEBUG_OPT: nothing for release builds, - "d" for debug builds, - "dd" for debug-diagnostic builds (_STLP_DEBUG). - -***************************************************************************/ - -#if !defined(BOOST_REGEX_LIBRARY_INCLUDE_HPP) && !defined(BOOST_REGEX_NO_LIB) -#define BOOST_REGEX_LIBRARY_INCLUDE_HPP - -#define BOOST_LIB_NAME "boost_regex" - -// -// select toolset: -// -#if defined(BOOST_MSVC) && (BOOST_MSVC == 1200) && (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) - - // vc6-stlport: -# define BOOST_LIB_TOOLSET "vc6-stlport" - -#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1200) - - // vc6: -# define BOOST_LIB_TOOLSET "vc6" - -#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1300) && (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) - - // vc6-stlport: -# define BOOST_LIB_TOOLSET "vc7-stlport" - -#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1300) - - // vc7: -# define BOOST_LIB_TOOLSET "vc7" - -#elif defined(BOOST_MSVC) && (BOOST_MSVC >= 1310) && (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) - - // vc71-stlport: -# define BOOST_LIB_TOOLSET "vc71-stlport" - -#elif defined(BOOST_MSVC) && (BOOST_MSVC >= 1310) - - // vc71: -# define BOOST_LIB_TOOLSET "vc71" - -#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) - - // CBuilder 6: -# define BOOST_LIB_TOOLSET "bcb6" - -#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x550) - - // CBuilder 6: -# define BOOST_LIB_TOOLSET "bcb5" - -#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x540) - - // CBuilder 6: -# define BOOST_LIB_TOOLSET "bcb4" - -#endif - -// -// select thread opt: -// -#if defined(_MT) || defined(__MT__) -# define BOOST_LIB_THREAD_OPT "m" -#else -# define BOOST_LIB_THREAD_OPT "s" -#endif - -// -// select runtime opt: -// -#if defined(_DLL) || defined(_RTLDLL) -# define BOOST_LIB_RT_OPT "d" -#else -# define BOOST_LIB_RT_OPT "s" -#endif - -// -// select linkage opt: -// -#if defined(BOOST_REGEX_STATIC_LINK) && defined(BOOST_REGEX_DYN_LINK) -# undef BOOST_REGEX_STATIC_LINK -#endif -#if (defined(_DLL) || defined(_RTLDLL)) && defined(BOOST_REGEX_DYN_LINK) -# define BOOST_LIB_PREFIX -#else -# define BOOST_LIB_PREFIX "lib" -#endif - -// -// select debug opt: -// -#if defined(BOOST_MSVC) && defined(_DEBUG) && (defined(_STLP_DEBUG) || defined(__STL_DEBUG)) -# define BOOST_LIB_DEBUG_OPT "dd" -#elif defined(BOOST_MSVC) && defined(_DEBUG) -# define BOOST_LIB_DEBUG_OPT "d" -#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) && (defined(_STLP_DEBUG) || defined(__STL_DEBUG)) -# define BOOST_LIB_DEBUG_OPT "dd" -#else -# define BOOST_LIB_DEBUG_OPT -#endif - -// -// now include the lib: -// -#if defined(BOOST_LIB_NAME) \ - && defined(BOOST_LIB_PREFIX) \ - && defined(BOOST_LIB_TOOLSET) \ - && defined(BOOST_LIB_THREAD_OPT) \ - && defined(BOOST_LIB_RT_OPT) \ - && defined(BOOST_LIB_DEBUG_OPT) - -# pragma comment(lib, BOOST_LIB_PREFIX BOOST_LIB_NAME "_" BOOST_LIB_TOOLSET "_" BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_DEBUG_OPT ".lib") -#ifdef BOOST_REGEX_DIAG -# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_LIB_NAME "_" BOOST_LIB_TOOLSET "_" BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_DEBUG_OPT ".lib") -#endif - -#endif - -// -// finally undef any macros we may have set: -// -#if defined(BOOST_LIB_NAME) -# undef BOOST_LIB_NAME -#endif -#if defined(BOOST_LIB_TOOLSET) -# undef BOOST_LIB_TOOLSET -#endif -#if defined(BOOST_LIB_THREAD_OPT) -# undef BOOST_LIB_THREAD_OPT -#endif -#if defined(BOOST_LIB_RT_OPT) -# undef BOOST_LIB_RT_OPT -#endif -#if defined(BOOST_LIB_LINK_OPT) -# undef BOOST_LIB_LINK_OPT -#endif -#if defined(BOOST_LIB_DEBUG_OPT) -# undef BOOST_LIB_DEBUG_OPT -#endif - - -#endif // BOOST_REGEX_LIBRARY_INCLUDE_HPP - - - - - - - - - - diff --git a/include/boost/regex/v4/basic_regex_parser.hpp b/include/boost/regex/v4/basic_regex_parser.hpp index e0841ee9..f544fdaa 100644 --- a/include/boost/regex/v4/basic_regex_parser.hpp +++ b/include/boost/regex/v4/basic_regex_parser.hpp @@ -74,7 +74,7 @@ private: std::ptrdiff_t m_paren_start; // where the last seen ')' began (where repeats are inserted). std::ptrdiff_t m_alt_insert_point; // where to insert the next alternative bool m_has_case_change; // true if somewhere in the current block the case has changed -#ifdef BOOST_MSVC +#if defined(BOOST_MSVC) && defined(_M_IX86) // This is an ugly warning suppression workaround (for warnings *inside* std::vector // that can not otherwise be suppressed)... BOOST_STATIC_ASSERT(sizeof(long) >= sizeof(void*)); diff --git a/include/boost/regex/v4/cpp_regex_traits.hpp b/include/boost/regex/v4/cpp_regex_traits.hpp index 43278261..2df0ceb3 100644 --- a/include/boost/regex/v4/cpp_regex_traits.hpp +++ b/include/boost/regex/v4/cpp_regex_traits.hpp @@ -597,7 +597,7 @@ typename cpp_regex_traits_implementation::string_type std::string name; const charT* p0 = p1; while(p0 != p2) - name.append(1, char(*p0++)); + name.append(1, char(*p0++)); #endif name = lookup_default_collate_name(name); #if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)\ @@ -608,13 +608,13 @@ typename cpp_regex_traits_implementation::string_type #else if(name.size()) { - string_type result; - typedef std::string::const_iterator iter; - iter b = name.begin(); - iter e = name.end(); - while(b != e) - result.append(1, charT(*b++)); - return result; + string_type result; + typedef std::string::const_iterator iter; + iter b = name.begin(); + iter e = name.end(); + while(b != e) + result.append(1, charT(*b++)); + return result; } #endif if(p2 - p1 == 1) diff --git a/include/boost/regex/v4/perl_matcher_non_recursive.hpp b/include/boost/regex/v4/perl_matcher_non_recursive.hpp index e613d986..4d1af25b 100644 --- a/include/boost/regex/v4/perl_matcher_non_recursive.hpp +++ b/include/boost/regex/v4/perl_matcher_non_recursive.hpp @@ -320,12 +320,12 @@ bool perl_matcher::match_startmark() { // independent sub-expression, currently this is always recursive: bool old_independent = m_independent; - m_independent = true; + m_independent = true; const re_syntax_base* next_pstate = static_cast(pstate->next.p)->alt.p->next.p; pstate = pstate->next.p->next.p; bool r = match_all_states(); pstate = next_pstate; - m_independent = old_independent; + m_independent = old_independent; #ifdef BOOST_REGEX_MATCH_EXTRA if(r && (m_match_flags & match_extra)) { @@ -489,7 +489,7 @@ bool perl_matcher::match_rep() return false; } - bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); + bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); if(greedy) { // try and take the repeat if we can: @@ -553,7 +553,7 @@ bool perl_matcher::match_dot_repeat_slow() return false; ++count; } - bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); + bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); if(greedy) { // repeat for as long as we can: @@ -593,7 +593,7 @@ bool perl_matcher::match_dot_repeat_fast() return match_dot_repeat_slow(); const re_repeat* rep = static_cast(pstate); - bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); + bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); unsigned count = static_cast((std::min)(static_cast(::boost::re_detail::distance(position, last)), static_cast(greedy ? rep->max : rep->min))); if(rep->min > count) { @@ -640,7 +640,7 @@ bool perl_matcher::match_char_repeat() // // start by working out how much we can skip: // - bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); + bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); std::size_t desired = greedy ? rep->max : rep->min; if(::boost::is_random_access_iterator::value) { @@ -708,7 +708,7 @@ bool perl_matcher::match_set_repeat() // // start by working out how much we can skip: // - bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); + bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); std::size_t desired = greedy ? rep->max : rep->min; if(::boost::is_random_access_iterator::value) { @@ -770,14 +770,14 @@ bool perl_matcher::match_long_set_repeat() #ifdef __BORLANDC__ #pragma option push -w-8008 -w-8066 -w-8004 #endif - typedef typename traits::char_class_type mask_type; + typedef typename traits::char_class_type mask_type; const re_repeat* rep = static_cast(pstate); const re_set_long* set = static_cast*>(pstate->next.p); std::size_t count = 0; // // start by working out how much we can skip: // - bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); + bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); std::size_t desired = greedy ? rep->max : rep->min; if(::boost::is_random_access_iterator::value) { diff --git a/include/boost/regex/v4/perl_matcher_recursive.hpp b/include/boost/regex/v4/perl_matcher_recursive.hpp index 25bd07bb..c0626ebd 100644 --- a/include/boost/regex/v4/perl_matcher_recursive.hpp +++ b/include/boost/regex/v4/perl_matcher_recursive.hpp @@ -127,12 +127,12 @@ bool perl_matcher::match_startmark() { // independent sub-expression: bool old_independent = m_independent; - m_independent = true; + m_independent = true; const re_syntax_base* next_pstate = static_cast(pstate->next.p)->alt.p->next.p; pstate = pstate->next.p->next.p; r = match_all_states(); pstate = next_pstate; - m_independent = old_independent; + m_independent = old_independent; #ifdef BOOST_REGEX_MATCH_EXTRA if(r && (m_match_flags & match_extra)) { @@ -314,7 +314,7 @@ bool perl_matcher::match_rep() } return false; } - bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); + bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); if(greedy) { // try and take the repeat if we can: @@ -382,7 +382,7 @@ bool perl_matcher::match_dot_repeat_slow() return false; ++count; } - bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); + bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); if(greedy) { // normal repeat: @@ -444,7 +444,7 @@ bool perl_matcher::match_dot_repeat_fast() #pragma warning(push) #pragma warning(disable:4267) #endif - bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); + bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); std::size_t count = (std::min)(static_cast(::boost::re_detail::distance(position, last)), static_cast(greedy ? rep->max : rep->min)); if(rep->min > count) { @@ -505,7 +505,7 @@ bool perl_matcher::match_char_repeat() // // start by working out how much we can skip: // - bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); + bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); std::size_t desired = greedy ? rep->max : rep->min; if(::boost::is_random_access_iterator::value) { @@ -594,7 +594,7 @@ bool perl_matcher::match_set_repeat() // // start by working out how much we can skip: // - bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); + bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); std::size_t desired = greedy ? rep->max : rep->min; if(::boost::is_random_access_iterator::value) { @@ -684,7 +684,7 @@ bool perl_matcher::match_long_set_repeat() // // start by working out how much we can skip: // - bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); + bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); std::size_t desired = greedy ? rep->max : rep->min; if(::boost::is_random_access_iterator::value) { diff --git a/include/boost/regex/v4/w32_regex_traits.hpp b/include/boost/regex/v4/w32_regex_traits.hpp index 99de12a0..0d3d6ce3 100644 --- a/include/boost/regex/v4/w32_regex_traits.hpp +++ b/include/boost/regex/v4/w32_regex_traits.hpp @@ -396,7 +396,7 @@ typename w32_regex_traits_implementation::string_type std::string name; const charT* p0 = p1; while(p0 != p2) - name.append(1, char(*p0++)); + name.append(1, char(*p0++)); #endif name = lookup_default_collate_name(name); #if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)\ @@ -407,13 +407,13 @@ typename w32_regex_traits_implementation::string_type #else if(name.size()) { - string_type result; - typedef std::string::const_iterator iter; - iter b = name.begin(); - iter e = name.end(); - while(b != e) - result.append(1, charT(*b++)); - return result; + string_type result; + typedef std::string::const_iterator iter; + iter b = name.begin(); + iter e = name.end(); + while(b != e) + result.append(1, charT(*b++)); + return result; } #endif if(p2 - p1 == 1)