diff --git a/headers/Containers/Hashing.hpp b/headers/Containers/Hashing.hpp new file mode 100644 index 0000000..24d1ae2 --- /dev/null +++ b/headers/Containers/Hashing.hpp @@ -0,0 +1,21 @@ +/* + * SPDX-FileCopyrightText: Dora "cat" + * SPDX-License-Identifier: MPL-2.0 + * + * This Source Code Form is subject to the terms of the Mozilla Public License, + * v. 2.0. If a copy of the MPL was not distributed with this file, You can + * obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef GUARD_TOURMALINE_HASHING_H +#define GUARD_TOURMALINE_HASHING_H +#include +#include + +namespace Tourmaline::Containers { +template +concept hashable = requires(T x) { + { std::hash{x}() } -> std::convertible_to; +}; +} // namespace Tourmaline::Containers +#endif