diff --git a/include/boost/regex/v4/basic_regex_parser.hpp b/include/boost/regex/v4/basic_regex_parser.hpp index 61be3ccf..01a97b52 100644 --- a/include/boost/regex/v4/basic_regex_parser.hpp +++ b/include/boost/regex/v4/basic_regex_parser.hpp @@ -1342,6 +1342,10 @@ bool valid_value(charT c, int v) template charT basic_regex_parser::unescape_character() { +#ifdef BOOST_MSVC +#pragma warning(push) +#pragma warning(disable:4127) +#endif charT result(0); if(m_position == m_end) { @@ -1494,6 +1498,9 @@ charT basic_regex_parser::unescape_character() } ++m_position; return result; +#ifdef BOOST_MSVC +#pragma warning(pop) +#endif } template diff --git a/include/boost/regex/v4/instances.hpp b/include/boost/regex/v4/instances.hpp index 4a8d1e64..b9898cb0 100644 --- a/include/boost/regex/v4/instances.hpp +++ b/include/boost/regex/v4/instances.hpp @@ -167,10 +167,7 @@ template BOOST_REGEX_DECL void BOOST_REGEX_CALL namespace re_detail{ template BOOST_REGEX_DECL void perl_matcher::allocator_type BOOST_REGEX_TRAITS_T >::construct_init( - BOOST_REGEX_CHAR_T const * first, BOOST_REGEX_CHAR_T const * end, - match_results& what, - const basic_regex& e, - match_flag_type f); + const basic_regex& e, match_flag_type f); template BOOST_REGEX_DECL bool perl_matcher::allocator_type BOOST_REGEX_TRAITS_T >::match(); template BOOST_REGEX_DECL bool perl_matcher::allocator_type BOOST_REGEX_TRAITS_T >::find(); } // namespace @@ -186,10 +183,7 @@ template BOOST_REGEX_DECL void BOOST_REGEX_CALL namespace re_detail{ template BOOST_REGEX_DECL void perl_matcher::const_iterator, match_results< std::basic_string::const_iterator >::allocator_type, boost::regex_traits >::construct_init( - std::basic_string::const_iterator first, std::basic_string::const_iterator end, - match_results::const_iterator>& what, - const basic_regex& e, - match_flag_type f); + const basic_regex& e, match_flag_type f); template BOOST_REGEX_DECL bool perl_matcher::const_iterator, match_results< std::basic_string::const_iterator >::allocator_type, boost::regex_traits >::match(); template BOOST_REGEX_DECL bool perl_matcher::const_iterator, match_results< std::basic_string::const_iterator >::allocator_type, boost::regex_traits >::find(); } // namespace diff --git a/include/boost/regex/v4/perl_matcher.hpp b/include/boost/regex/v4/perl_matcher.hpp index 39d7f37c..82f8a26d 100644 --- a/include/boost/regex/v4/perl_matcher.hpp +++ b/include/boost/regex/v4/perl_matcher.hpp @@ -338,10 +338,7 @@ public: { m_match_flags &= ~f; } private: - void construct_init(BidiIterator first, BidiIterator end, - match_results& what, - const basic_regex& e, - match_flag_type f); + void construct_init(const basic_regex& e, match_flag_type f); bool find_imp(); bool match_imp(); #ifdef BOOST_REGEX_HAS_MS_STACK_GUARD diff --git a/include/boost/regex/v4/perl_matcher_common.hpp b/include/boost/regex/v4/perl_matcher_common.hpp index dd63e98e..af2139b6 100644 --- a/include/boost/regex/v4/perl_matcher_common.hpp +++ b/include/boost/regex/v4/perl_matcher_common.hpp @@ -41,14 +41,11 @@ perl_matcher::perl_matcher(BidiIterator first, position(first), backstop(b), re(e), traits_inst(e.get_traits()), m_independent(false), next_count(&rep_obj), rep_obj(&next_count) { - construct_init(first, last, what, e, f); + construct_init(e, f); } template -void perl_matcher::construct_init(BidiIterator first, BidiIterator end, - match_results& what, - const basic_regex& e, - match_flag_type f) +void perl_matcher::construct_init(const basic_regex& e, match_flag_type f) { typedef typename regex_iterator_traits::iterator_category category; diff --git a/include/boost/regex/v4/perl_matcher_recursive.hpp b/include/boost/regex/v4/perl_matcher_recursive.hpp index c0626ebd..3a763094 100644 --- a/include/boost/regex/v4/perl_matcher_recursive.hpp +++ b/include/boost/regex/v4/perl_matcher_recursive.hpp @@ -510,7 +510,7 @@ bool perl_matcher::match_char_repeat() if(::boost::is_random_access_iterator::value) { BidiIterator end = position; - std::advance(end, (std::min)((unsigned)::boost::re_detail::distance(position, last), desired)); + std::advance(end, (std::min)((std::size_t)::boost::re_detail::distance(position, last), desired)); BidiIterator origin(position); while((position != end) && (traits_inst.translate(*position, icase) == what)) { @@ -599,7 +599,7 @@ bool perl_matcher::match_set_repeat() if(::boost::is_random_access_iterator::value) { BidiIterator end = position; - std::advance(end, (std::min)((unsigned)::boost::re_detail::distance(position, last), desired)); + std::advance(end, (std::min)((std::size_t)::boost::re_detail::distance(position, last), desired)); BidiIterator origin(position); while((position != end) && map[static_cast(traits_inst.translate(*position, icase))]) { @@ -689,7 +689,7 @@ bool perl_matcher::match_long_set_repeat() if(::boost::is_random_access_iterator::value) { BidiIterator end = position; - std::advance(end, (std::min)((unsigned)::boost::re_detail::distance(position, last), desired)); + std::advance(end, (std::min)((std::size_t)::boost::re_detail::distance(position, last), desired)); BidiIterator origin(position); while((position != end) && (position != re_is_set_member(position, last, set, re.get_data(), icase))) {