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:
parent
088922a790
commit
d5cdd39f52
4 changed files with 34 additions and 4 deletions
|
|
@ -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
|
||||
*
|
||||
|
|
|
|||
|
|
@ -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?
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue