set


template <class t, class less = core::less<t>>
 struct set
{
  typedef database::set_iterator<t> iterator;

  set(const char* name);

  set(const char* name,
      const char* directory);

  set(const wchar_t* name);

  set(const wchar_t* name,
      const wchar_t* directory)

  ~set();

  set& operator<<(const t& element);

  set& operator>>(const t& Element);

  bool operator[](const t& element) const;

  string name() const;

  string directory() const;

  t back();

  iterator begin() const;

  bool contains(const t& element) const;

  long long depth() const; 

  iterator end() const;

  void erase();

  void erase(const t& element);

  t find(const t& element) const;

  t front();

  void insert(const t& element);

  long long length() const;
};