Example #1
0
// ////////////////////////////////////////////////////////////////////////////
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);
}
Example #2
0
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);
        }
    }
}