summaryrefslogtreecommitdiffstats
path: root/src/libs/engine
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/engine')
-rw-r--r--src/libs/engine/Tree.h2
-rw-r--r--src/libs/engine/TreeImplementation.h16
-rw-r--r--src/libs/engine/instantiations.cpp26
3 files changed, 3 insertions, 41 deletions
diff --git a/src/libs/engine/Tree.h b/src/libs/engine/Tree.h
index e2ef785b..2c89e55c 100644
--- a/src/libs/engine/Tree.h
+++ b/src/libs/engine/Tree.h
@@ -130,8 +130,6 @@ public:
iterator end() const;
private:
- void _set_all_traversed_recursive(TreeNode<T>* root, bool b);
-
TreeNode<T>* _find_smallest(TreeNode<T>* root);
TreeNode<T>* _find_largest(TreeNode<T>* root);
diff --git a/src/libs/engine/TreeImplementation.h b/src/libs/engine/TreeImplementation.h
index 5aef27cf..418264bc 100644
--- a/src/libs/engine/TreeImplementation.h
+++ b/src/libs/engine/TreeImplementation.h
@@ -237,22 +237,6 @@ Tree<T>::find_treenode(const string& name) const
}
-/// Private ///
-template<typename T>
-void
-Tree<T>::_set_all_traversed_recursive(TreeNode<T>* root, bool b)
-{
- assert(root != NULL);
-
- // Preorder traversal
- root->node()->traversed(b);
- if (root->left_child() != NULL)
- _set_all_traversed_recursive(root->left_child(), b);
- if (root->right_child() != NULL)
- _set_all_traversed_recursive(root->right_child(), b);
-}
-
-
/** Finds the smallest (key) node in the subtree rooted at "root"
*/
template<typename T>
diff --git a/src/libs/engine/instantiations.cpp b/src/libs/engine/instantiations.cpp
index d31afa62..f4c81722 100644
--- a/src/libs/engine/instantiations.cpp
+++ b/src/libs/engine/instantiations.cpp
@@ -18,33 +18,13 @@
/** @file
* Explicit template instantiations.
*
- * Need to do this to avoid undefined references, because GCC doesn't seem to
- * know how to recursively instantiate templates. Cleaner to do it all here
- * than pollute everything with it. :/
+ * Needed to avoid undefined references, because GCC doesn't automatically
+ * instantiate templates (at least not well/completely).
*/
#include "Tree.h"
#include "TreeImplementation.h"
#include "GraphObject.h"
-#include "Node.h"
-
-/* Tree */
-template class Tree<Ingen::Node*>;
-template class TreeNode<Ingen::Node*>;
-
-template Tree<Ingen::GraphObject*>::Tree();
-template Tree<Ingen::GraphObject*>::~Tree();
-template void Tree<Ingen::GraphObject*>::insert(TreeNode<Ingen::GraphObject*>* const n);
-template TreeNode<Ingen::GraphObject*>* Tree<Ingen::GraphObject*>::remove(const string& key);
-template Ingen::GraphObject* Tree<Ingen::GraphObject*>::find(const string& key) const;
-template TreeNode<Ingen::GraphObject*>* Tree<Ingen::GraphObject*>::find_treenode(const string& key) const;
-
-template Tree<Ingen::GraphObject*>::iterator Tree<Ingen::GraphObject*>::begin() const;
-template Tree<Ingen::GraphObject*>::iterator Tree<Ingen::GraphObject*>::end() const;
-
-template Tree<Ingen::GraphObject*>::iterator::~iterator();
-template Ingen::GraphObject* Tree<Ingen::GraphObject*>::iterator::operator*() const;
-template Tree<Ingen::GraphObject*>::iterator& Tree<Ingen::GraphObject*>::iterator::operator++();
-template bool Tree<Ingen::GraphObject*>::iterator::operator!=(const iterator& iter) const;
+template class Tree<Ingen::GraphObject*>;