#pragma once #include "util/concepts.hpp" #include template requires Container constexpr auto container_find(const ContainerType &container, const Value &value) noexcept -> typename ContainerType::const_iterator; template requires Container && std::predicate constexpr auto container_find(const ContainerType &container, Predicate predicate) noexcept -> typename ContainerType::const_iterator; template requires Container constexpr auto container_has(const ContainerType &container, const Value &value) noexcept -> bool; template requires Container && HasPushBack && std::predicate constexpr auto container_filter(const ContainerType &container, Predicate predicate) noexcept -> ContainerType; template requires Container && std::predicate constexpr auto container_filter(const ContainerType &container, Predicate predicate) noexcept -> ContainerType; #include "algorithm_impl.hpp"