Another significant and hard task: trie_node structure looks too heavy: there are too many member variables. Try to simplify trie_node and value_list_node structures. Think of a possible optimizations of the trie_node structure for
Hello, I have modified the directory strucure. I think it's ok right now. trie_set|trie_map|trie_multiset|trie_multimap.
For example all the sets do not require values, so pointers to value list nodes can be removed from trie_set in that case.
I have thought of this task too. I will share with you some ideas in order
to get some feedback about them.
1. Value = void specialization for trie_node which would remove pointers to
value_list_head/tail, self_value_count.
2. Another specialization or something like this would be ok for trie_map
also. The map_node should only contain a member
value_type value. value_list_head/tail, self_value_count should be removed
in this case to but I don't know how to specialize the template (for which
key, value) type.
3. Considering 2, trie_multiset could be easily implemented in terms of
trie_map