diff --git a/boost/boost/regex/v4/cpp_regex_traits.hpp b/boost/boost/regex/v4/cpp_regex_traits.hpp index bbe5c5085e..dce0448e9b 100644 --- a/boost/boost/regex/v4/cpp_regex_traits.hpp +++ b/boost/boost/regex/v4/cpp_regex_traits.hpp @@ -41,6 +41,7 @@ #include #include +#include #ifdef BOOST_HAS_ABI_HEADERS # include BOOST_ABI_PREFIX diff --git a/boost/boost/token_functions.hpp b/boost/boost/token_functions.hpp index ecf44cb9c5..867525fb1a 100644 --- a/boost/boost/token_functions.hpp +++ b/boost/boost/token_functions.hpp @@ -335,12 +335,13 @@ namespace boost{ if (next == end) return false; - if (current_offset_ == offsets_.size()) + if (current_offset_ == offsets_.size()) { if (wrap_offsets_) current_offset_=0; else return false; - + } + int c = offsets_[current_offset_]; int i = 0; for (; i < c; ++i) { @@ -448,14 +449,15 @@ namespace boost{ else { // m_empty_tokens == keep_empty_tokens // Handle empty token at the end - if (next == end) + if (next == end) { if (m_output_done == false) { m_output_done = true; assigner::assign(start,next,tok); return true; } else return false; - + } + if (is_kept(*next)) { if (m_output_done == false) m_output_done = true;