mirror of
https://github.com/boostorg/concept_check.git
synced 2025-07-30 04:27:33 +02:00
Applied patch - refs #4918; will merge to release after tests cycle
[SVN r67742]
This commit is contained in:
@ -139,20 +139,21 @@ namespace boost
|
|||||||
{
|
{
|
||||||
BOOST_CONCEPT_USAGE(Assignable) {
|
BOOST_CONCEPT_USAGE(Assignable) {
|
||||||
#if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL
|
#if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL
|
||||||
a = a; // require assignment operator
|
a = b; // require assignment operator
|
||||||
#endif
|
#endif
|
||||||
const_constraints(a);
|
const_constraints(b);
|
||||||
}
|
}
|
||||||
private:
|
private:
|
||||||
void const_constraints(const TT& b) {
|
void const_constraints(const TT& x) {
|
||||||
#if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL
|
#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
|
#else
|
||||||
ignore_unused_variable_warning(b);
|
ignore_unused_variable_warning(x);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
private:
|
private:
|
||||||
TT a;
|
TT a;
|
||||||
|
TT b;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -183,22 +184,23 @@ namespace boost
|
|||||||
BOOST_concept(SGIAssignable,(TT))
|
BOOST_concept(SGIAssignable,(TT))
|
||||||
{
|
{
|
||||||
BOOST_CONCEPT_USAGE(SGIAssignable) {
|
BOOST_CONCEPT_USAGE(SGIAssignable) {
|
||||||
TT b(a);
|
TT c(a);
|
||||||
#if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL
|
#if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL
|
||||||
a = a; // require assignment operator
|
a = b; // require assignment operator
|
||||||
#endif
|
#endif
|
||||||
const_constraints(a);
|
const_constraints(b);
|
||||||
ignore_unused_variable_warning(b);
|
ignore_unused_variable_warning(c);
|
||||||
}
|
}
|
||||||
private:
|
private:
|
||||||
void const_constraints(const TT& b) {
|
void const_constraints(const TT& x) {
|
||||||
TT c(b);
|
TT c(x);
|
||||||
#if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL
|
#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
|
#endif
|
||||||
ignore_unused_variable_warning(c);
|
ignore_unused_variable_warning(c);
|
||||||
}
|
}
|
||||||
TT a;
|
TT a;
|
||||||
|
TT b;
|
||||||
};
|
};
|
||||||
#if (defined _MSC_VER)
|
#if (defined _MSC_VER)
|
||||||
# pragma warning( pop )
|
# pragma warning( pop )
|
||||||
|
Reference in New Issue
Block a user