forked from boostorg/container
Fixes a small issue that prevented the use of iterators of containers of incomplete types. Added iterators of incomp-types to unit-tests.
This commit is contained in:
1 parent
3bbb0bbe0e
commit
59b46cd338
13 files changed
+82
-2
No files matched your search
@@ -138,6 +138,10 @@ public:
|
||||
|
||||
int id_;
|
||||
deque<recursive_deque> deque_;
|
||||
deque<recursive_deque>::iterator it_;
|
||||
deque<recursive_deque>::const_iterator cit_;
|
||||
deque<recursive_deque>::reverse_iterator rit_;
|
||||
deque<recursive_deque>::const_reverse_iterator crit_;
|
||||
};
|
||||
|
||||
template<class IntType>
|
||||
|
||||
+10
-1
@@ -150,6 +150,10 @@ class recursive_flat_map
|
||||
|
||||
int id_;
|
||||
flat_map<recursive_flat_map, recursive_flat_map> map_;
|
||||
flat_map<recursive_flat_map, recursive_flat_map>::iterator it_;
|
||||
flat_map<recursive_flat_map, recursive_flat_map>::const_iterator cit_;
|
||||
flat_map<recursive_flat_map, recursive_flat_map>::reverse_iterator rit_;
|
||||
flat_map<recursive_flat_map, recursive_flat_map>::const_reverse_iterator crit_;
|
||||
|
||||
friend bool operator< (const recursive_flat_map &a, const recursive_flat_map &b)
|
||||
{ return a.id_ < b.id_; }
|
||||
@@ -170,7 +174,12 @@ public:
|
||||
return *this;
|
||||
}
|
||||
int id_;
|
||||
flat_map<recursive_flat_multimap, recursive_flat_multimap> map_;
|
||||
flat_multimap<recursive_flat_multimap, recursive_flat_multimap> map_;
|
||||
flat_multimap<recursive_flat_multimap, recursive_flat_multimap>::iterator it_;
|
||||
flat_multimap<recursive_flat_multimap, recursive_flat_multimap>::const_iterator cit_;
|
||||
flat_multimap<recursive_flat_multimap, recursive_flat_multimap>::reverse_iterator rit_;
|
||||
flat_multimap<recursive_flat_multimap, recursive_flat_multimap>::const_reverse_iterator crit_;
|
||||
|
||||
friend bool operator< (const recursive_flat_multimap &a, const recursive_flat_multimap &b)
|
||||
{ return a.id_ < b.id_; }
|
||||
};
|
||||
|
||||
@@ -179,6 +179,11 @@ class recursive_flat_set
|
||||
}
|
||||
int id_;
|
||||
flat_set<recursive_flat_set> flat_set_;
|
||||
flat_set<recursive_flat_set>::iterator it_;
|
||||
flat_set<recursive_flat_set>::const_iterator cit_;
|
||||
flat_set<recursive_flat_set>::reverse_iterator rit_;
|
||||
flat_set<recursive_flat_set>::const_reverse_iterator crit_;
|
||||
|
||||
friend bool operator< (const recursive_flat_set &a, const recursive_flat_set &b)
|
||||
{ return a.id_ < b.id_; }
|
||||
};
|
||||
@@ -200,6 +205,11 @@ class recursive_flat_multiset
|
||||
}
|
||||
int id_;
|
||||
flat_multiset<recursive_flat_multiset> flat_multiset_;
|
||||
flat_multiset<recursive_flat_multiset>::iterator it_;
|
||||
flat_multiset<recursive_flat_multiset>::const_iterator cit_;
|
||||
flat_multiset<recursive_flat_multiset>::reverse_iterator rit_;
|
||||
flat_multiset<recursive_flat_multiset>::const_reverse_iterator crit_;
|
||||
|
||||
friend bool operator< (const recursive_flat_multiset &a, const recursive_flat_multiset &b)
|
||||
{ return a.id_ < b.id_; }
|
||||
};
|
||||
|
||||
@@ -67,6 +67,11 @@ class recursive_list
|
||||
public:
|
||||
int id_;
|
||||
list<recursive_list> list_;
|
||||
list<recursive_list>::iterator it_;
|
||||
list<recursive_list>::const_iterator cit_;
|
||||
list<recursive_list>::reverse_iterator rit_;
|
||||
list<recursive_list>::const_reverse_iterator crit_;
|
||||
|
||||
recursive_list &operator=(const recursive_list &o)
|
||||
{ list_ = o.list_; return *this; }
|
||||
};
|
||||
|
||||
@@ -195,6 +195,11 @@ class recursive_map
|
||||
|
||||
int id_;
|
||||
map<recursive_map, recursive_map> map_;
|
||||
map<recursive_map, recursive_map>::iterator it_;
|
||||
map<recursive_map, recursive_map>::const_iterator cit_;
|
||||
map<recursive_map, recursive_map>::reverse_iterator rit_;
|
||||
map<recursive_map, recursive_map>::const_reverse_iterator crit_;
|
||||
|
||||
friend bool operator< (const recursive_map &a, const recursive_map &b)
|
||||
{ return a.id_ < b.id_; }
|
||||
};
|
||||
@@ -207,6 +212,11 @@ class recursive_multimap
|
||||
|
||||
int id_;
|
||||
multimap<recursive_multimap, recursive_multimap> multimap_;
|
||||
multimap<recursive_multimap, recursive_multimap>::iterator it_;
|
||||
multimap<recursive_multimap, recursive_multimap>::const_iterator cit_;
|
||||
multimap<recursive_multimap, recursive_multimap>::reverse_iterator rit_;
|
||||
multimap<recursive_multimap, recursive_multimap>::const_reverse_iterator crit_;
|
||||
|
||||
friend bool operator< (const recursive_multimap &a, const recursive_multimap &b)
|
||||
{ return a.id_ < b.id_; }
|
||||
};
|
||||
|
||||
@@ -172,6 +172,11 @@ public:
|
||||
|
||||
int id_;
|
||||
set<recursive_set> set_;
|
||||
set<recursive_set>::iterator it_;
|
||||
set<recursive_set>::const_iterator cit_;
|
||||
set<recursive_set>::reverse_iterator rit_;
|
||||
set<recursive_set>::const_reverse_iterator crit_;
|
||||
|
||||
friend bool operator< (const recursive_set &a, const recursive_set &b)
|
||||
{ return a.id_ < b.id_; }
|
||||
};
|
||||
@@ -185,6 +190,11 @@ class recursive_multiset
|
||||
|
||||
int id_;
|
||||
multiset<recursive_multiset> multiset_;
|
||||
multiset<recursive_multiset>::iterator it_;
|
||||
multiset<recursive_multiset>::const_iterator cit_;
|
||||
multiset<recursive_multiset>::reverse_iterator rit_;
|
||||
multiset<recursive_multiset>::const_reverse_iterator crit_;
|
||||
|
||||
friend bool operator< (const recursive_multiset &a, const recursive_multiset &b)
|
||||
{ return a.id_ < b.id_; }
|
||||
};
|
||||
|
||||
@@ -57,6 +57,9 @@ class recursive_slist
|
||||
public:
|
||||
int id_;
|
||||
slist<recursive_slist> slist_;
|
||||
slist<recursive_slist>::iterator it_;
|
||||
slist<recursive_slist>::const_iterator cit_;
|
||||
|
||||
recursive_slist &operator=(const recursive_slist &o)
|
||||
{ slist_ = o.slist_; return *this; }
|
||||
};
|
||||
|
||||
@@ -66,6 +66,11 @@ class recursive_vector
|
||||
public:
|
||||
int id_;
|
||||
stable_vector<recursive_vector> vector_;
|
||||
stable_vector<recursive_vector>::iterator it_;
|
||||
stable_vector<recursive_vector>::const_iterator cit_;
|
||||
stable_vector<recursive_vector>::reverse_iterator rit_;
|
||||
stable_vector<recursive_vector>::const_reverse_iterator crit_;
|
||||
|
||||
recursive_vector &operator=(const recursive_vector &o)
|
||||
{ vector_ = o.vector_; return *this; }
|
||||
};
|
||||
|
||||
@@ -112,6 +112,10 @@ class recursive_vector
|
||||
public:
|
||||
int id_;
|
||||
vector<recursive_vector> vector_;
|
||||
vector<recursive_vector>::iterator it_;
|
||||
vector<recursive_vector>::const_iterator cit_;
|
||||
vector<recursive_vector>::reverse_iterator rit_;
|
||||
vector<recursive_vector>::const_reverse_iterator crit_;
|
||||
};
|
||||
|
||||
void recursive_vector_test()//Test for recursive types
|
||||
|
||||
Reference in new issue
Block a user