diff --git a/src/lib/iter-adapter.hpp b/src/lib/iter-adapter.hpp index 26062f458..fb0e98de4 100644 --- a/src/lib/iter-adapter.hpp +++ b/src/lib/iter-adapter.hpp @@ -145,11 +145,11 @@ namespace lib { * -# it should be copy constructible * -# when IterAdapter is supposed to be assignable, then POS should be * -# it should provide embedded typedefs for pointer, reference and value_type, - * or alternatively resolve these types through a specialisation if IterTraits. + * or alternatively resolve these types through a specialisation of IterTraits. * -# it should be convertible to the pointer type it declares - * -# dereferencing it should yield type that is convertible to the reference type + * -# dereferencing should yield a type that is convertible to the reference type * - CON points to the data source of this iterator (typically a data container type) - * We store a pointer-like backlink to invoke a special iteration control API: + * We store a pointer-like backlink to invoke a special iteration control API: //////////////TICKET #410 * -# \c hasNext yields true iff the source has yet more result values to yield * -# \c iterNext advances the POS to the next element * diff --git a/src/proc/mobject/session/scope-locator.hpp b/src/proc/mobject/session/scope-locator.hpp index d49312d4b..37884608e 100644 --- a/src/proc/mobject/session/scope-locator.hpp +++ b/src/proc/mobject/session/scope-locator.hpp @@ -135,6 +135,9 @@ namespace session { ScopeLocator::locate (Scope scope) { UNIMPLEMENTED ("virtual navigation"); + ///////////////////////////////////////////TODO: see scope-query.hpp + ///////////////////////////////////////////TODO: its hard to come up with a generic implementation which yields a compatible iterator + ///////////////////////////////////////////TODO: *alternatively* just expose an Iterator of Scopes? } diff --git a/src/proc/mobject/session/scope-path.cpp b/src/proc/mobject/session/scope-path.cpp index 208ce1231..aaffc2780 100644 --- a/src/proc/mobject/session/scope-path.cpp +++ b/src/proc/mobject/session/scope-path.cpp @@ -282,7 +282,7 @@ namespace session { // then attach the other path below that meta-clip (problem: resolve multiple attachments) // - otherwise use the first timeline, to which the other path's sequence is attached // - otherwise, if all else fails, use the raw otherPath - } + } ////////////////////////////////////TICKET #672 void diff --git a/src/proc/mobject/session/scope-query.hpp b/src/proc/mobject/session/scope-query.hpp index b0b113535..8046bc289 100644 --- a/src/proc/mobject/session/scope-query.hpp +++ b/src/proc/mobject/session/scope-query.hpp @@ -209,5 +209,32 @@ namespace session { }; + /** + * Exposes an opaque MObject result set + * similar to a DiscoveryQuery, including the + * ability to filter/downcast to a specific + * kind of MObject + */ + template + class WrappedResults + { + + class Wrapper + { +//////////////TODO: it would be *nice* if we could build something similar to the scope-query Resolution +//////////////TODO: *requirement* is that it must not pull in anything beyond and iter-adapters.hpp +//////////////TODO: but if that's too expensive to implement, just ditch the ability of subclassing and just yield MObjects, or even just Scopes + }; + + + template + WrappedResults (IT const& results) + { + UNIMPLEMENTED ("build a suitable wrapper"); + } + + }; + + }} // namespace mobject::session #endif