template <class k, class t, class compare, class less = core::less<t>> struct tree : public set<t,less> { typedef set_iterator<t> iterator; tree(); tree(std::initializer_list<t> l); t& operator[](const k& key); void erase(const k& key); bool contains(const k& key) const; iterator find(const k& key) const; t* locate(const k& key) const; };