diff -Naur fam-2.6.10/fam/SmallTable.h fam-2.6.10.new/fam/SmallTable.h --- fam-2.6.10/fam/SmallTable.h 2003-04-15 06:21:43.000000000 +0200 +++ fam-2.6.10.new/fam/SmallTable.h 2004-05-31 17:46:03.835793656 +0200 @@ -98,7 +98,7 @@ } template -SmallTable::Closure +typename SmallTable::Closure SmallTable::position(const Tkey& key) const { unsigned l = 0, r = n; diff -Naur fam-2.6.10/include/BTree.h fam-2.6.10.new/include/BTree.h --- fam-2.6.10/include/BTree.h 2003-04-15 06:21:19.000000000 +0200 +++ fam-2.6.10.new/include/BTree.h 2004-05-31 17:45:37.356819072 +0200 @@ -236,7 +236,7 @@ // to the right and returns them. template -BTree::Closure +typename BTree::Closure BTree::Node::remove(unsigned j) { Key k = key[j]; @@ -348,7 +348,7 @@ } template -BTree::Closure +typename BTree::Closure BTree::Node::next(const Key& pred) const { if (!this) @@ -404,7 +404,7 @@ // nodes as necessary on the way back. template -BTree::Closure +typename BTree::Closure BTree::insert(Node *p, const Key& key, const Value& value) { if (!p) return Closure(key, value, NULL); @@ -499,7 +499,7 @@ // Returns UNDER if node p is too small afterward, OK otherwise. template -BTree::Status +typename BTree::Status BTree::underflow(Node *p, unsigned i) { assert(p); @@ -557,7 +557,7 @@ template -BTree::Closure +typename BTree::Closure BTree::remove_rightmost(Node *p) { int i = p->n; @@ -587,7 +587,7 @@ // back up. template -BTree::Status +typename BTree::Status BTree::remove(Node *p, const Key& key) { if (!p)