change to new/old category recognition code

[SVN r613]
This commit is contained in:
Jeremy Siek
2002-10-24 18:56:16 +00:00
parent 560c48fe7a
commit 5fd440c1d0
3 changed files with 84 additions and 24 deletions
+7 -14
View File
@@ -26,8 +26,7 @@ namespace boost_concepts {
public:
typedef typename std::iterator_traits<Iterator>::value_type value_type;
typedef typename std::iterator_traits<Iterator>::reference reference;
typedef typename std::iterator_traits<Iterator>::iterator_category iterator_category;
typedef typename iterator_category::returns return_category;
typedef typename boost::return_category<Iterator>::type return_category;
void constraints() {
boost::function_requires< boost::SGIAssignableConcept<Iterator> >();
@@ -48,8 +47,7 @@ namespace boost_concepts {
template <typename Iterator, typename ValueType>
class WritableIteratorConcept {
public:
typedef typename std::iterator_traits<Iterator>::iterator_category iterator_category;
typedef typename iterator_category::returns return_category;
typedef typename boost::return_category<Iterator>::type return_category;
void constraints() {
boost::function_requires< boost::SGIAssignableConcept<Iterator> >();
@@ -71,8 +69,7 @@ namespace boost_concepts {
public:
typedef typename std::iterator_traits<Iterator>::value_type value_type;
typedef typename std::iterator_traits<Iterator>::reference reference;
typedef typename std::iterator_traits<Iterator>::iterator_category iterator_category;
typedef typename iterator_category::returns return_category;
typedef typename boost::return_category<Iterator>::type return_category;
void constraints() {
boost::function_requires< ReadableIteratorConcept<Iterator> >();
@@ -94,8 +91,7 @@ namespace boost_concepts {
public:
typedef typename std::iterator_traits<Iterator>::value_type value_type;
typedef typename std::iterator_traits<Iterator>::reference reference;
typedef typename std::iterator_traits<Iterator>::iterator_category iterator_category;
typedef typename iterator_category::returns return_category;
typedef typename boost::return_category<Iterator>::type return_category;
void constraints() {
boost::function_requires< ReadableIteratorConcept<Iterator> >();
@@ -119,8 +115,7 @@ namespace boost_concepts {
template <typename Iterator>
class ForwardTraversalConcept {
public:
typedef typename std::iterator_traits<Iterator>::iterator_category iterator_category;
typedef typename iterator_category::traversal traversal_category;
typedef typename boost::traversal_category<Iterator>::type traversal_category;
void constraints() {
boost::function_requires< boost::SGIAssignableConcept<Iterator> >();
@@ -139,8 +134,7 @@ namespace boost_concepts {
template <typename Iterator>
class BidirectionalTraversalConcept {
public:
typedef typename std::iterator_traits<Iterator>::iterator_category iterator_category;
typedef typename iterator_category::traversal traversal_category;
typedef typename boost::traversal_category<Iterator>::type traversal_category;
void constraints() {
boost::function_requires< ForwardTraversalConcept<Iterator> >();
@@ -157,8 +151,7 @@ namespace boost_concepts {
template <typename Iterator>
class RandomAccessTraversalConcept {
public:
typedef typename std::iterator_traits<Iterator>::iterator_category iterator_category;
typedef typename iterator_category::traversal traversal_category;
typedef typename boost::traversal_category<Iterator>::type traversal_category;
typedef typename std::iterator_traits<Iterator>::difference_type
difference_type;