// //////////////////////////////////////////////////////////////////////////// unsigned int InsContext::DetermineTemplateIndex(unsigned int template_id) const { InsItemMapIterC iter_f(template_map_.find(template_id)); return((iter_f != template_map_.end()) ? iter_f->second.first : InvalidTemplateIndex); }
void oc_bpt_utl_iter_b( struct Oc_wu *wu_p, struct Oc_bpt_state *s_p, void (*iter_f)(struct Oc_wu *, Oc_bpt_node*), Oc_bpt_node *node_p) { iter_f(wu_p, node_p); if (!oc_bpt_nd_is_leaf(s_p, node_p)) { // An index node, recurse through its children int i; int num_entries = oc_bpt_nd_num_entries(s_p, node_p); Oc_bpt_node *child_node_p; struct Oc_bpt_key *dummy_key_p; uint64 child_addr; for (i=0; i< num_entries; i++) { oc_bpt_nd_index_get_kth(s_p, node_p, i, &dummy_key_p, &child_addr); child_node_p = oc_bpt_nd_get_for_read(wu_p, s_p, child_addr); oc_bpt_utl_iter_b(wu_p, s_p, iter_f, child_node_p); oc_bpt_nd_release(wu_p, s_p, child_node_p); } } }