forked from boostorg/container
Added explicit guarantee for iterators to containers of incomplete types. Added iterators to the recursive container example.
This commit is contained in:
@@ -24,14 +24,19 @@ struct data
|
||||
int i_;
|
||||
//A vector holding still undefined class 'data'
|
||||
vector<data> v_;
|
||||
vector<data>::iterator vi_;
|
||||
//A stable_vector holding still undefined class 'data'
|
||||
stable_vector<data> sv_;
|
||||
stable_vector<data>::iterator svi_;
|
||||
//A stable_vector holding still undefined class 'data'
|
||||
deque<data> d_;
|
||||
deque<data>::iterator di_;
|
||||
//A list holding still undefined 'data'
|
||||
list<data> l_;
|
||||
list<data>::iterator li_;
|
||||
//A map holding still undefined 'data'
|
||||
map<data, data> m_;
|
||||
map<data, data>::iterator mi_;
|
||||
|
||||
friend bool operator <(const data &l, const data &r)
|
||||
{ return l.i_ < r.i_; }
|
||||
@@ -43,7 +48,8 @@ struct tree_node
|
||||
string value;
|
||||
|
||||
//children nodes of this node
|
||||
list<tree_node> children_;
|
||||
list<tree_node> children_;
|
||||
list<tree_node>::iterator selected_child_;
|
||||
};
|
||||
|
||||
|
||||
@@ -60,6 +66,7 @@ int main()
|
||||
root.name = "root";
|
||||
root.value = "root_value";
|
||||
root.children_.resize(7);
|
||||
root.selected_child_ = root.children_.begin();
|
||||
return 0;
|
||||
}
|
||||
//]
|
||||
|
||||
Reference in New Issue
Block a user