summaryrefslogtreecommitdiff
path: root/boost/concept_check.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/concept_check.hpp')
-rw-r--r--boost/concept_check.hpp28
1 files changed, 15 insertions, 13 deletions
diff --git a/boost/concept_check.hpp b/boost/concept_check.hpp
index bf5a2af783..292f37d3b2 100644
--- a/boost/concept_check.hpp
+++ b/boost/concept_check.hpp
@@ -32,6 +32,12 @@
# include <boost/concept/usage.hpp>
# include <boost/concept/detail/concept_def.hpp>
+#if (defined _MSC_VER)
+# pragma warning( push )
+# pragma warning( disable : 4510 ) // default constructor could not be generated
+# pragma warning( disable : 4610 ) // object 'class' can never be instantiated - user-defined constructor required
+#endif
+
namespace boost
{
@@ -175,11 +181,6 @@ namespace boost
TT b;
};
-#if (defined _MSC_VER)
-# pragma warning( push )
-# pragma warning( disable : 4510 ) // default constructor could not be generated
-# pragma warning( disable : 4610 ) // object 'class' can never be instantiated - user-defined constructor required
-#endif
// The SGI STL version of Assignable requires copy constructor and operator=
BOOST_concept(SGIAssignable,(TT))
{
@@ -202,9 +203,6 @@ namespace boost
TT a;
TT b;
};
-#if (defined _MSC_VER)
-# pragma warning( pop )
-#endif
BOOST_concept(Convertible,(X)(Y))
{
@@ -562,10 +560,10 @@ namespace boost
: ForwardIterator<TT>
{
BOOST_CONCEPT_USAGE(Mutable_ForwardIterator) {
- *i++ = *i; // require postincrement and assignment
+ *i++ = *j; // require postincrement and assignment
}
private:
- TT i;
+ TT i, j;
};
BOOST_concept(BidirectionalIterator,(TT))
@@ -591,10 +589,10 @@ namespace boost
{
BOOST_CONCEPT_USAGE(Mutable_BidirectionalIterator)
{
- *i-- = *i; // require postdecrement and assignment
+ *i-- = *j; // require postdecrement and assignment
}
private:
- TT i;
+ TT i, j;
};
BOOST_concept(RandomAccessIterator,(TT))
@@ -880,7 +878,7 @@ namespace boost
typename BackInsertionSequence::const_reference
r = cc.back();
ignore_unused_variable_warning(r);
- };
+ }
S c;
typename S::value_type t;
};
@@ -1077,6 +1075,10 @@ namespace boost
};
} // namespace boost
+#if (defined _MSC_VER)
+# pragma warning( pop )
+#endif
+
# include <boost/concept/detail/concept_undef.hpp>
#endif // BOOST_CONCEPT_CHECKS_HPP