Fix for non-greedy repeats and partial matches not working correctly in some
cases.
Fix for non-greedy repeats on VC++ not working in some cases (bug report
1515830).
Changed match_results::position() to return a valid result when *this
represents a partial match.
Boost 1.33.1
Fixed broken makefiles.
Fixed configuration setup to allow building with VC7.1 - STLport-4.6.2 when
using /Zc:wchar_t.
Moved declarations class-inline in static_mutex.hpp so that SGI Irix compiler
can cope.
Added needed standard library #includes to fileiter.hpp, regex_workaround.hpp
and cpp_regex_traits.hpp.
Fixed a bug where non-greedy repeats could in certain strange curcumstances
repeat more times than their maximum value.
Fixed the value returned by basic_regex<>::empty() from a default
constructed object.
Changed the deffinition of regex_error to make it backwards compatible with
Boost-1.32.0.
Disabled external templates for Intel C++ 8.0 and earlier - otherwise
unresolved references can occur.
Rewritten extern template code for gcc so that only specific member functions
are exported: otherwise strange unresolved references can occur when linking
and mixing debug and non-debug code.
Initialise all the data members of the unicode_iterators: this keeps gcc from
issuing needless warnings.
Ported the ICU integration code to VC6 and VC7.
Ensured code is STLport debug mode clean.
Fixed lookbehind assertions so that fixed length repeats are permitted, and so
that regex iteration allows lookbehind to look back before the current search
range (into the last match).
Fixed strange bug with non-greedy repeats inside forward lookahead assertions.
Enabled negated character classes inside character sets.
Fixed regression so that [a-z-] is a valid expression again.
Fixed bug that allowed some invalid expressions to be accepted.
Boost 1.33.0.
Completely rewritten expression parsing code, and traits class support; now
conforms to the standardization proposal.
Breaking Change: The syntax
options that can be passed to basic_regex
constructors have been rationalized. The default option (perl) now
has a value of zero, and it is now clearly documented which options apply to
which regular expression syntax styles (perl,
POSIX-extended, POSIX-basic etc). Some of the more esoteric
options have now been removed, so there is the possibility that existing code
may fail to compile: however equivalent functionality should still be
available.
Breaking Change:
POSIX-extended and POSIX-basic regular expressions now enforce the letter of
the POSIX standard much more closely than before.
Changed newline support to recognise \f as a line separator (all character
types), and \x85 as a line separator for wide characters / Unicode only.
Added a new format flag format_literal
that treats the replace string as a literal, rather than a Perl or Sed style
format string.
Errors are now reported by throwing exceptions of type regex_error. The types used previously - bad_expression
and bad_pattern - are now just typedefs for regex_error.
Type regex_error has a couple of new members: code() to
report an error code rather than a string, and position() to
report where in the expression the error occured.
Boost 1.32.1.
Fixed bug in partial matches of bounded repeats of '.'.
Boost 1.31.0.
Completely rewritten pattern matching code - it is now up to 10 times faster
than before.
Changed the match flags so that they are a distinct type (not an integer), if
you try to pass the match flags as an integer rather than
match_flag_type to the regex algorithms then you will now get a compiler
error.