22 criteria_.push_back(std::make_pair(
false,nonConstFilter));
44 DDScope::scope_type::const_iterator it = dummy.begin();
45 DDScope::scope_type::const_iterator it_end = dummy.end();
48 it = sc.
scope().begin();
50 scoped = bool(sc.
scope().end()-it);
53 bool runonce = scoped ?
false :
true;
55 while (runonce || (it != it_end) ) {
bool next()
set current node to the next node in the expanded tree
DDLogOp
logical operations to obtain one result from two filter comparisons
virtual const std::vector< DDExpandedNode > & exec()
std::vector< const DDsvalues_type * > specifics() const
User specific data attached to the current node.
virtual void addFilter(const DDFilter &, DDLogOp op=DDLogOp::AND)
virtual void setScope(const DDScope &)
type of data representation of DDCompactView
std::vector< DDExpandedNode > result_
const DDGeoHistory & geoHistory() const
The list of ancestors up to the root-node of the current node.
std::vector< DDGeoHistory > scope_type
int depth(void) const
return the depth to wich the subtrees are restricted
bool setScope(const DDGeoHistory &hist, int depth=0)
sets the scope of the expanded view
DDQuery(const DDCompactView &)
sets up a query
defines subtrees in the expanded-view
void reset()
true, if a call to firstChild() would succeed (current node has at least one child) ...
A Filter accepts or rejects a DDExpandedNode based on a user-coded decision rule. ...
virtual bool accept(const DDExpandedView &) const =0
true, if the DDExpandedNode fulfills the filter criteria
std::vector< std::pair< bool, DDFilter * > > criteria_
const scope_type & scope(void) const
returns the scope container
std::vector< DDLogOp > logOps_