void indri::infnet::WeightedSumNode::annotate( indri::infnet::Annotator& annotator, int documentID, indri::index::Extent &extent ) { annotator.add(this, documentID, extent); for( unsigned i=0; i<_children.size(); i++ ) { _children[i]->annotate( annotator, documentID, extent ); } }
void indri::infnet::ContextInclusionAndNode::annotate( indri::infnet::Annotator& annotator, int documentID, indri::index::Extent &extent ) { std::vector<child_type>::iterator iter; annotator.add( this, documentID, extent); for( iter = _children.begin(); iter != _children.end(); iter++ ) { (*iter).node->annotate( annotator, documentID, extent ); } }
void indri::infnet::PlusNode::annotate( indri::infnet::Annotator& annotator, lemur::api::DOCID_T documentID, indri::index::Extent &extent ) { std::vector<BeliefNode*>::iterator iter; annotator.add( this, documentID, extent ); for( iter = _children.begin(); iter != _children.end(); iter++ ) { (*iter)->annotate( annotator, documentID, extent ); } }
void indri::infnet::FixedPassageNode::annotate( indri::infnet::Annotator& annotator, lemur::api::DOCID_T documentID, indri::index::Extent &extent ) { annotator.add(this, documentID, extent); // round down to find where the passage starts _buildSubextents( extent ); const indri::utility::greedy_vector<bool>& matches = _child->hasMatch( documentID, _subextents ); for( size_t i=0; i<_subextents.size(); i++ ) { if (matches[i]) _child->annotate( annotator, documentID, _subextents[i] ); } }