Fixed C++ Builder 5 support,

Fixed support for bidirectional iterators,
Fixed enum declaration in states.hpp.


[SVN r18874]
This commit is contained in:
John Maddock
2003-06-27 11:12:47 +00:00
parent 6f9ba7a289
commit 4a851cf958
5 changed files with 12 additions and 9 deletions

View File

@ -394,7 +394,7 @@ bool perl_matcher<BidiIterator, Allocator, traits, Allocator2>::match_char_repea
if(::boost::is_random_access_iterator<BidiIterator>::value)
{
BidiIterator end = position;
end += std::min((unsigned)re_detail::distance(position, last), desired);
std::advance(end, std::min((unsigned)re_detail::distance(position, last), desired));
BidiIterator origin(position);
while((position != end) && (traits_inst.translate(*position, icase) == what))
{
@ -468,7 +468,7 @@ bool perl_matcher<BidiIterator, Allocator, traits, Allocator2>::match_set_repeat
if(::boost::is_random_access_iterator<BidiIterator>::value)
{
BidiIterator end = position;
end += std::min((unsigned)re_detail::distance(position, last), desired);
std::advance(end, std::min((unsigned)re_detail::distance(position, last), desired));
BidiIterator origin(position);
while((position != end) && map[(traits_uchar_type)traits_inst.translate(*position, icase)])
{
@ -542,7 +542,7 @@ bool perl_matcher<BidiIterator, Allocator, traits, Allocator2>::match_long_set_r
if(::boost::is_random_access_iterator<BidiIterator>::value)
{
BidiIterator end = position;
end += std::min((unsigned)re_detail::distance(position, last), desired);
std::advance(end, std::min((unsigned)re_detail::distance(position, last), desired));
BidiIterator origin(position);
while((position != end) && (position != re_is_set_member(position, last, set, re)))
{