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 char_type* m_pointer;
char_type m_char;
private:
RegexTraitsConcept& operator=(RegexTraitsConcept&);
};
//
@ -403,6 +405,8 @@ struct BaseRegexConcept
match_results_type m3(m1);
m1 = m2;
int ival = 0;
mr_size_type mrs = m_cresults.size();
ignore_unused_variable_warning(mrs);
mrs = m_cresults.max_size();
@ -411,14 +415,14 @@ struct BaseRegexConcept
ignore_unused_variable_warning(b);
mr_difference_type mrd = m_cresults.length();
ignore_unused_variable_warning(mrd);
mrd = m_cresults.length(mrs);
mrd = m_cresults.length(ival);
ignore_unused_variable_warning(mrd);
mrd = m_cresults.position();
ignore_unused_variable_warning(mrd);
mrd = m_cresults.position(mrs);
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);
mr_const_reference mrcr2 = m_cresults.prefix();
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_first_only;
(void)mopts;
function_requires<RegexConcept<Regex> >();
const global_regex_namespace::regex_error except(global_regex_namespace::regex_constants::error_collate);
std::ptrdiff_t pt = except.position();

View File

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

View File

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

View File

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