forest.hpp
Go to the documentation of this file.
7 /*************************************************************************************************/
12 /*************************************************************************************************/
27 /*************************************************************************************************/
31 /*************************************************************************************************/
45 /*************************************************************************************************/
53 /*************************************************************************************************/
61 /*************************************************************************************************/
70 /*************************************************************************************************/
76 /*************************************************************************************************/
94 /*************************************************************************************************/
102 /*************************************************************************************************/
124 /*************************************************************************************************/
169 bool equal_node(const filter_fullorder_iterator& y) const { return this->base().equal_node(y.base()); }
222 /*************************************************************************************************/
232 but that might break people who assume base() is off by one for a reverse iterator, and it still
288 /*************************************************************************************************/
294 typedef typename boost::iterator_adaptor<depth_fullorder_iterator<I>, I>::difference_type difference_type;
309 bool equal_node(depth_fullorder_iterator const& y) const { return this->base().equal_node(y.base()); }
330 /*************************************************************************************************/
336 /*************************************************************************************************/
379 /*************************************************************************************************/
448 /*************************************************************************************************/
517 /*************************************************************************************************/
522 /*************************************************************************************************/
529 void operator()(implementation::forest_iterator<T> x, implementation::forest_iterator<T> y) const
540 /*************************************************************************************************/
641 iterator splice(iterator position, forest<T>& x, child_iterator first, child_iterator last, size_type count);
699 /*************************************************************************************************/
716 /*************************************************************************************************/
722 /*************************************************************************************************/
737 /*************************************************************************************************/
748 /*************************************************************************************************/
759 /*************************************************************************************************/
771 /*************************************************************************************************/
787 /*************************************************************************************************/
800 /*************************************************************************************************/
825 /*************************************************************************************************/
831 /*************************************************************************************************/
864 /*************************************************************************************************/
873 /*************************************************************************************************/
882 /*************************************************************************************************/
896 /*************************************************************************************************/
899 typename forest<T>::iterator forest<T>::splice(iterator pos, forest<T>& x, child_iterator first,
928 /*************************************************************************************************/
935 /*************************************************************************************************/
938 typename forest<T>::iterator forest<T>::insert_parent(child_iterator first, child_iterator last,
947 /*************************************************************************************************/
958 /*************************************************************************************************/
992 /*************************************************************************************************/
998 /*************************************************************************************************/
1004 /*************************************************************************************************/
1028 return std::make_pair(iterator(boost::begin(x), boost::end(x), p), iterator(boost::end(x), boost::end(x), p));
1048 return std::make_pair(iterator(p, boost::begin(x), boost::end(x)), iterator(p, boost::end(x), boost::end(x)));
1051 /*************************************************************************************************/
1103 /*************************************************************************************************/
1143 /*************************************************************************************************/
1174 inline std::pair<edge_iterator<typename boost::range_const_iterator<R>::type, forest_trailing_edge>,
1178 typedef edge_iterator<typename boost::range_const_iterator<R>::type, forest_trailing_edge> iterator;
1183 /*************************************************************************************************/
1214 inline std::pair<edge_iterator<typename boost::range_const_iterator<R>::type, forest_leading_edge>,
1218 typedef edge_iterator<typename boost::range_const_iterator<R>::type, forest_leading_edge> iterator;
1223 /*************************************************************************************************/
|