Fix concept check regression, and suppress various VC-related warnings.

[SVN r32014]
This commit is contained in:
John Maddock
2005-12-13 18:30:53 +00:00
parent 9d0e60bd74
commit afc5ce05cd
4 changed files with 11 additions and 5 deletions

View File

@ -205,6 +205,8 @@ struct RegexTraitsConcept
const traits m_ctraits; const traits m_ctraits;
const char_type* m_pointer; const char_type* m_pointer;
char_type m_char; char_type m_char;
private:
RegexTraitsConcept& operator=(RegexTraitsConcept&);
}; };
// //
@ -403,6 +405,8 @@ struct BaseRegexConcept
match_results_type m3(m1); match_results_type m3(m1);
m1 = m2; m1 = m2;
int ival = 0;
mr_size_type mrs = m_cresults.size(); mr_size_type mrs = m_cresults.size();
ignore_unused_variable_warning(mrs); ignore_unused_variable_warning(mrs);
mrs = m_cresults.max_size(); mrs = m_cresults.max_size();
@ -411,14 +415,14 @@ struct BaseRegexConcept
ignore_unused_variable_warning(b); ignore_unused_variable_warning(b);
mr_difference_type mrd = m_cresults.length(); mr_difference_type mrd = m_cresults.length();
ignore_unused_variable_warning(mrd); ignore_unused_variable_warning(mrd);
mrd = m_cresults.length(mrs); mrd = m_cresults.length(ival);
ignore_unused_variable_warning(mrd); ignore_unused_variable_warning(mrd);
mrd = m_cresults.position(); mrd = m_cresults.position();
ignore_unused_variable_warning(mrd); ignore_unused_variable_warning(mrd);
mrd = m_cresults.position(mrs); mrd = m_cresults.position(mrs);
ignore_unused_variable_warning(mrd); ignore_unused_variable_warning(mrd);
mr_const_reference mrcr = m_cresults[m_size]; mr_const_reference mrcr = m_cresults[ival];
ignore_unused_variable_warning(mrcr); ignore_unused_variable_warning(mrcr);
mr_const_reference mrcr2 = m_cresults.prefix(); mr_const_reference mrcr2 = m_cresults.prefix();
ignore_unused_variable_warning(mrcr2); ignore_unused_variable_warning(mrcr2);
@ -778,6 +782,8 @@ struct BoostRegexConcept
| global_regex_namespace::regex_constants::format_no_copy | global_regex_namespace::regex_constants::format_no_copy
| global_regex_namespace::regex_constants::format_first_only; | global_regex_namespace::regex_constants::format_first_only;
(void)mopts;
function_requires<RegexConcept<Regex> >(); function_requires<RegexConcept<Regex> >();
const global_regex_namespace::regex_error except(global_regex_namespace::regex_constants::error_collate); const global_regex_namespace::regex_error except(global_regex_namespace::regex_constants::error_collate);
std::ptrdiff_t pt = except.position(); std::ptrdiff_t pt = except.position();

View File

@ -572,7 +572,7 @@ re_syntax_base* basic_regex_creator<charT, traits>::append_set(
// Oops error: // Oops error:
return 0; return 0;
} }
BOOST_ASSERT(c3[1] == 0); BOOST_ASSERT(c3[1] == charT(0));
for(unsigned i = 0; i < (1u << CHAR_BIT); ++i) for(unsigned i = 0; i < (1u << CHAR_BIT); ++i)
{ {
c3[0] = static_cast<charT>(i); c3[0] = static_cast<charT>(i);

View File

@ -88,7 +88,7 @@ public:
return m_subs[sub].length(); return m_subs[sub].length();
return 0; return 0;
} }
difference_type position(unsigned int sub = 0) const difference_type position(size_type sub = 0) const
{ {
sub += 2; sub += 2;
if(sub < m_subs.size()) if(sub < m_subs.size())

View File

@ -45,7 +45,7 @@ OutputIterator regex_replace(OutputIterator out,
} }
else else
{ {
BidirectionalIterator last_m = first; BidirectionalIterator last_m(first);
while(i != j) while(i != j)
{ {
if(!(flags & regex_constants::format_no_copy)) if(!(flags & regex_constants::format_no_copy))