Program Listing for File algorithm.hpp

Return to documentation for file (include/rsl/algorithm.hpp)

#pragma once

#include <algorithm>

namespace rsl {

template <typename Collection>
[[nodiscard]] auto contains(Collection const& collection,
                            typename Collection::const_reference value) {
    return std::find(collection.cbegin(), collection.cend(), value) != collection.cend();
}

template <typename Collection>
[[nodiscard]] auto is_unique(Collection collection) {
    std::sort(collection.begin(), collection.end());
    return std::adjacent_find(collection.cbegin(), collection.cend()) == collection.cend();
}

}  // namespace rsl