#pragma once #include "fwd.h" #include #include #include #include #include template class TSet: public std::set> { public: using TBase = std::set>; using TBase::TBase; inline explicit operator bool() const noexcept { return !this->empty(); } template inline bool contains(const TheKey& key) const { return this->find(key) != this->end(); } }; template class TMultiSet: public std::multiset> { public: using TBase = std::multiset>; using TBase::TBase; inline explicit operator bool() const noexcept { return !this->empty(); } template inline bool contains(const TheKey& key) const { return this->find(key) != this->end(); } };