Version 0.5.0, 1/2/2006 - Realized that assignment to *i for const_iterators was being allowed. Fixed. - Forced instantiation of whole template and caught several typos (iterator in place of const_iterator, etc.) - Can now find the size of subtrees using a size() method of iterator or const_iterator - i += n for sibling_iterators - Added range constructor to build n-ary trees - Allow conversion from iterator to const_iterator - Added height() and height_leftmost() tree methods - First serious attempt at pointer specialization. It is disabled by default because it is incomplete and programs with only a few types of pointer trees will get larger. If you have many different types of trees, then the program size should increase less with specialization enabled. Suggestions on the best way to implement specialization are welcome. Version 0.2.1, 12/17/2005 - Compatible with gcc 4.0 - Pruning for const_preorder_iterator - Added depth counter for iterators - Added addition operator to sibling_iterators so that you can do stuff like j = i + 1. Version 0.2.0, 04/05/2005 - Now compatible with gcc 3.4 - In between 0.1.0 and 0.2.0, the tree class saw extensive use representing parse trees and various other tree structures in my own programs. Remaining bugs are likely in methods I don't use very often but provided because they seemed useful. Version 0.1.0, 07/18/2003 - very general tree template - STL compatible