On 2013/4/26 16:15, Antony Polukhin wrote:
Besides, considering that traditional Trie has limited scale of using, I want to design my Trie in 3 layers: The bottom one can provide the user-definition key type, which uses like RawTrie<key_t, value_t>, in which the key can be a sequence of some type(maybe an array of anything can be a key), and every node of Trie can be taken as a root of sub RawTrie, which gives convenience to add Trie into it and even swap a sub Trie. And the second layer will be a specific Trie with the key of chars(when handling lookup and insert, both string and char[] can be adapted to it). And the feature of sub Trie is provided. The class is like Trie<value_t>. And the third layer will be a Trie without so much freedom of operating as the above two. I will just provide the basic interface as I list above. And the last two layers of Trie will have a version of compressed storage of strings.
Relations between layers are not clear.
bottom layer: class RawTrie<key_t, value_t>; provide some interfaces to manipulate sub-tree, and could second layer: A specific RawTrie. typedef StringTrie<value_t> RawTrie<string, value_t>; also provide some interfaces to manipulate sub-tree third layer: TrieMap<value_t> - build upon the StringTrie, but can not manipulate the sub-tree, just provide the interfaces as stl:map and the interfaces I list above.
Bay the way, student applications can now be submitted to <https://google-melange.appspot.com/gsoc/homepage/google/gsoc2013>. The deadline is 3 May. Do not forget to submit your proposal and add link to this discussion in proposal.
Ok, you mean that I should add this link of our discussion to the 'additional info' of my proposal in GSoC page?
-- Best regards, Antony Polukhin
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost