void operator() (node it, cnode null) const { (int&) it.data() = (**it).second; // default value if (it.left() != null) (int&) it.data() = min(it.data(), it.left().data()); if (it.right() != null) (int&) it.data() = min(it.data(), it.right().data()); }
bool find_data (node const & n) { for (node * n : data_) { assert(n); if (n->data() == n) { return true; } } return false; }
std::size_t node_hasher::hash(const node&v) { std::size_t seed(0); combine(seed, hash_boost_shared_ptr_dogen_dia_to_sml_node(v.parent())); combine(seed, v.data()); combine(seed, hash_std_list_boost_shared_ptr_dogen_dia_to_sml_node_(v.children())); return seed; }
node(const node & obj):mFront(obj.forward()), mBack(obj.backward()), mDat(obj.data()) { }