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