summaryrefslogtreecommitdiff
path: root/dev-cpp/tree/files
diff options
context:
space:
mode:
Diffstat (limited to 'dev-cpp/tree/files')
-rw-r--r--dev-cpp/tree/files/3.18-add-missing-insert.patch82
-rw-r--r--dev-cpp/tree/files/3.18-const.patch23
-rw-r--r--dev-cpp/tree/files/3.18-cxx.patch27
-rw-r--r--dev-cpp/tree/files/3.18-fix-move-out.patch46
4 files changed, 0 insertions, 178 deletions
diff --git a/dev-cpp/tree/files/3.18-add-missing-insert.patch b/dev-cpp/tree/files/3.18-add-missing-insert.patch
deleted file mode 100644
index adf3776448ac..000000000000
--- a/dev-cpp/tree/files/3.18-add-missing-insert.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-https://github.com/kpeeters/tree.hh/commit/1bd1cd80cdcec2ba1c677ee0ef3766a9485d1d2f
-
-From: Kasper Peeters <kasper.peeters@phi-sci.com>
-Date: Fri, 17 Nov 2023 11:24:49 +0000
-Subject: [PATCH] Add a missing 'insert(sibling_iterators, T&&)'. Fixes issue
- #24.
-
----
- src/tree.hh | 39 +++++++++++++++++++++++++++++++++++----
- 1 file changed, 35 insertions(+), 4 deletions(-)
-
-diff --git a/src/tree.hh b/src/tree.hh
-index 906cda1..d460165 100644
---- a/src/tree.hh
-+++ b/src/tree.hh
-@@ -1,7 +1,7 @@
-
- // STL-like templated tree class.
- //
--// Copyright (C) 2001-2020 Kasper Peeters <kasper@phi-sci.com>
-+// Copyright (C) 2001-2023 Kasper Peeters <kasper@phi-sci.com>
- // Distributed under the GNU General Public License version 3.
- //
- // Special permission to use tree.hh under the conditions of a
-@@ -9,9 +9,8 @@
-
- /** \mainpage tree.hh
- \author Kasper Peeters
-- \version 3.18
-- \date 13-Feb-2021
-- \see http://tree.phi-sci.com/
-+ \version 3.19
-+ \date 2023-11-17
- \see http://github.com/kpeeters/tree.hh/
-
- The tree.hh library for C++ provides an STL-like container class
-@@ -363,6 +362,7 @@ class tree {
- template<typename iter> iter insert(iter position, T&& x);
- /// Specialisation of previous member.
- sibling_iterator insert(sibling_iterator position, const T& x);
-+ sibling_iterator insert(sibling_iterator position, T&& x);
- /// Insert node (with children) pointed to by subtree as previous sibling of node pointed to by position.
- /// Does not change the subtree itself (use move_in or move_in_below for that).
- template<typename iter> iter insert_subtree(iter position, const iterator_base& subtree);
-@@ -1363,6 +1363,37 @@ typename tree<T, tree_node_allocator>::sibling_iterator tree<T, tree_node_alloca
- return tmp;
- }
-
-+template <class T, class tree_node_allocator>
-+typename tree<T, tree_node_allocator>::sibling_iterator tree<T, tree_node_allocator>::insert(sibling_iterator position, T&& x)
-+ {
-+ tree_node *tmp=std::allocator_traits<decltype(alloc_)>::allocate(alloc_, 1, 0);
-+ std::allocator_traits<decltype(alloc_)>::construct(alloc_, tmp);
-+ std::swap(tmp->data, x); // Move semantics
-+
-+ tmp->first_child=0;
-+ tmp->last_child=0;
-+
-+ tmp->next_sibling=position.node;
-+ if(position.node==0) { // iterator points to end of a subtree
-+ tmp->parent=position.parent_;
-+ tmp->prev_sibling=position.range_last();
-+ tmp->parent->last_child=tmp;
-+ }
-+ else {
-+ tmp->parent=position.node->parent;
-+ tmp->prev_sibling=position.node->prev_sibling;
-+ position.node->prev_sibling=tmp;
-+ }
-+
-+ if(tmp->prev_sibling==0) {
-+ if(tmp->parent) // when inserting nodes at the head, there is no parent
-+ tmp->parent->first_child=tmp;
-+ }
-+ else
-+ tmp->prev_sibling->next_sibling=tmp;
-+ return tmp;
-+ }
-+
- template <class T, class tree_node_allocator>
- template <class iter>
- iter tree<T, tree_node_allocator>::insert_after(iter position, const T& x)
diff --git a/dev-cpp/tree/files/3.18-const.patch b/dev-cpp/tree/files/3.18-const.patch
deleted file mode 100644
index 580c23f7ac53..000000000000
--- a/dev-cpp/tree/files/3.18-const.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-https://github.com/kpeeters/tree.hh/commit/0ee8b5a4c3a93814bbf465ffc56c296cf84f1832
-
-From: Kasper Peeters <kasper.peeters@phi-sci.com>
-Date: Fri, 17 Nov 2023 11:27:13 +0000
-Subject: [PATCH] Fix const-correctness for comparison.
-
----
- src/tree.hh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/tree.hh b/src/tree.hh
-index d460165..be45f99 100644
---- a/src/tree.hh
-+++ b/src/tree.hh
-@@ -505,7 +505,7 @@ class tree {
- public:
- compare_nodes(StrictWeakOrdering comp) : comp_(comp) {}
-
-- bool operator()(const tree_node *a, const tree_node *b)
-+ bool operator()(const tree_node *a, const tree_node *b) const
- {
- return comp_(a->data, b->data);
- }
diff --git a/dev-cpp/tree/files/3.18-cxx.patch b/dev-cpp/tree/files/3.18-cxx.patch
deleted file mode 100644
index e5562dfee4f6..000000000000
--- a/dev-cpp/tree/files/3.18-cxx.patch
+++ /dev/null
@@ -1,27 +0,0 @@
---- tree.hh-3.18/src/Makefile
-+++ tree.hh-3.18/src/Makefile
-@@ -2,19 +2,19 @@
- all: test1 test2 test_tree
-
- %.o: %.cc tree.hh
-- g++ -g -c -o $@ -Wall -O2 -std=c++11 -I. $<
-+ $(CXX) -g -c -o $@ -Wall -O2 -std=c++11 -I. $<
-
- test1: test1.o
-- g++ -o test1 test1.o
-+ $(CXX) -o test1 test1.o
-
- test2: test2.o
-- g++ -o test2 test2.o
-+ $(CXX) -o test2 test2.o
-
- test_tree: test_tree.o
-- g++ -o test_tree test_tree.o
-+ $(CXX) -o test_tree test_tree.o
-
- sample_path: sample_path.o
-- g++ -o sample_path sample_path.o
-+ $(CXX) -o sample_path sample_path.o
-
- run_tests: test1 test1.req
- ./test1 > test1.res
diff --git a/dev-cpp/tree/files/3.18-fix-move-out.patch b/dev-cpp/tree/files/3.18-fix-move-out.patch
deleted file mode 100644
index 9f72b438720b..000000000000
--- a/dev-cpp/tree/files/3.18-fix-move-out.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-https://github.com/kpeeters/tree.hh/commit/66f71a672698909e5b613a3c04a918bac3d4282f
-
-From: Kasper Peeters <kasper.peeters@phi-sci.com>
-Date: Fri, 17 Nov 2023 11:33:30 +0000
-Subject: [PATCH] Fix move_out for cases when the moved-out node was first or
- last child of the old parent.
-
----
- src/tree.hh | 17 ++++++++++++++++-
- 1 file changed, 16 insertions(+), 1 deletion(-)
-
-diff --git a/src/tree.hh b/src/tree.hh
-index be45f99..743a81b 100644
---- a/src/tree.hh
-+++ b/src/tree.hh
-@@ -1860,7 +1860,6 @@ tree<T, tree_node_allocator> tree<T, tree_node_allocator>::move_out(iterator sou
- // Move source node into the 'ret' tree.
- ret.head->next_sibling = source.node;
- ret.feet->prev_sibling = source.node;
-- source.node->parent=0;
-
- // Close the links in the current tree.
- if(source.node->prev_sibling!=0)
-@@ -1869,6 +1868,22 @@ tree<T, tree_node_allocator> tree<T, tree_node_allocator>::move_out(iterator sou
- if(source.node->next_sibling!=0)
- source.node->next_sibling->prev_sibling = source.node->prev_sibling;
-
-+ // If the moved-out node was a first or last child of
-+ // the parent, adjust those links.
-+ if(source.node->parent->first_child==source.node) {
-+ if(source.node->next_sibling!=0)
-+ source.node->parent->first_child=source.node->next_sibling;
-+ else
-+ source.node->parent->first_child=0;
-+ }
-+ if(source.node->parent->last_child==source.node) {
-+ if(source.node->prev_sibling!=0)
-+ source.node->parent->last_child=source.node->prev_sibling;
-+ else
-+ source.node->parent->last_child=0;
-+ }
-+ source.node->parent=0;
-+
- // Fix source prev/next links.
- source.node->prev_sibling = ret.head;
- source.node->next_sibling = ret.feet;