WIP trying to code up the public query function for scope paths

problem is how to get an iterator compatible with ScopeQuery...
This commit is contained in:
Fischlurch 2010-10-02 19:22:28 +02:00
parent 088922a790
commit d5cdd39f52
4 changed files with 34 additions and 4 deletions

View file

@ -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
*

View file

@ -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?
}

View file

@ -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

View file

@ -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 MO>
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 <function> 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<typename IT>
WrappedResults (IT const& results)
{
UNIMPLEMENTED ("build a suitable wrapper");
}
};
}} // namespace mobject::session
#endif