chiark / gitweb /
doxygen: add functions twice to the search data.
With the breadth-first traversal for search result gathering we need to
handle two things:
1. Show a function named min() among other three-letter names (such as
BlendEquation::Min), so in fact have it just as "min" in the trie.
2. But make it still possible to search for min() with the parentheses
after in order to filter out non-function results, so in fact have
it *also* as "min()" in the trie.
This required that the result prefix merging was updated to allow
self-referencing (an item being a complete alias of another item).
That's now allowed only if the suffix length differ and is allowed only
from one side to avoid a cycle. Suffix length differs, because one
result has the () suffix while the other hasn't.
In order to prevent the function from appearing twice in the results, a
lookahead barrier is added to the ( character. That was nicely simple.