Applied patch - refs #4918; will merge to release after tests cycle

[SVN r67742]
This commit is contained in:
Marshall Clow
2011-01-07 00:23:47 +00:00
parent b4ff615db8
commit 15afb20c84

View File

@ -139,20 +139,21 @@ namespace boost
{
BOOST_CONCEPT_USAGE(Assignable) {
#if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL
a = a; // require assignment operator
a = b; // require assignment operator
#endif
const_constraints(a);
const_constraints(b);
}
private:
void const_constraints(const TT& b) {
void const_constraints(const TT& x) {
#if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL
a = b; // const required for argument to assignment
a = x; // const required for argument to assignment
#else
ignore_unused_variable_warning(b);
ignore_unused_variable_warning(x);
#endif
}
private:
TT a;
TT b;
};
@ -183,22 +184,23 @@ namespace boost
BOOST_concept(SGIAssignable,(TT))
{
BOOST_CONCEPT_USAGE(SGIAssignable) {
TT b(a);
TT c(a);
#if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL
a = a; // require assignment operator
a = b; // require assignment operator
#endif
const_constraints(a);
ignore_unused_variable_warning(b);
const_constraints(b);
ignore_unused_variable_warning(c);
}
private:
void const_constraints(const TT& b) {
TT c(b);
void const_constraints(const TT& x) {
TT c(x);
#if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL
a = b; // const required for argument to assignment
a = x; // const required for argument to assignment
#endif
ignore_unused_variable_warning(c);
}
TT a;
TT b;
};
#if (defined _MSC_VER)
# pragma warning( pop )