I set out to "discover" what operations we actually need on the LocationQuery interface, in order to build a "coordinate resolver" on top. It seems like this set of operations is clear by now. It comes somewhat as a surprise that this API is so small. This became possible through the idea of a ''child iterator'' with the additional ability to delve down and expand one level of children of the current element. Such can be ''implemented'' by relying on techniques similar to the "Monads" from functional programming. Let's see if this was a good choice. The price to pay is a high level of ''formal precision'' when dealing with the abstraction barrier. We need to stick strictly to the notion of a ''logical path'' into a tree-like topology, and we need to be strong enough never to give in and indulge with "the concrete, tangible". The concrete reality of a tree processing algorithm with memory management plus backtracking is just to complex to be handled mentally. So either stick to the rules or get lost. |
||
|---|---|---|
| .. | ||
| cmd-context-test.cpp | ||
| ui-coord-resolver-test.cpp | ||
| ui-coord-test.cpp | ||
| view-spec-dsl-test.cpp | ||