14#ifndef RANGES_V3_VIEW_UNIQUE_HPP
15#define RANGES_V3_VIEW_UNIQUE_HPP
25#include <range/v3/utility/static_const.hpp>
30#include <range/v3/detail/prologue.hpp>
40 template(
typename Rng,
typename C =
equal_to)(
44 operator()(Rng && rng, C pred = {})
const
46 return {all(
static_cast<Rng &&
>(rng)),
not_fn(pred)};
52 using unique_base_fn::operator();
56 constexpr auto operator()(C && pred)
const
58 return make_view_closure(
70#include <range/v3/detail/epilogue.hpp>
The forward_range concept.
The indirect_relation concept.
The viewable_range concept.
decltype(begin(declval(Rng &))) iterator_t
Definition: access.hpp:698
RANGES_INLINE_VARIABLE(detail::to_container_fn< detail::from_range< std::vector > >, to_vector) template< template< typename... > class ContT > auto to(RANGES_HIDDEN_DETAIL(detail
For initializing a container of the specified type with the elements of an Range.
Definition: conversion.hpp:399
defer< bind_back, Fn, Ts... > bind_back
Definition: meta.hpp:994
bool_< T::type::value==U::type::value > equal_to
A Boolean integral constant wrapper around the result of comparing T::type::value and U::type::value ...
Definition: meta.hpp:237
compose< quote< not_ >, Fn > not_fn
Logically negate the result of invocable Fn.
Definition: meta.hpp:3009
Definition: adjacent_filter.hpp:63
Definition: not_fn.hpp:34
Definition: unique.hpp:39
Definition: unique.hpp:51