Iros
 
Loading...
Searching...
No Matches
di::container::detail::UniqueCopyFunction Struct Reference

#include <di/container/algorithm/unique_copy.h>

Public Member Functions

template<concepts::InputIterator It, concepts::SentinelFor< It > Sent, concepts::WeaklyIncrementable Out, typename Proj = function::Identity, concepts::IndirectEquivalenceRelation< meta::Projected< It, Proj > > Comp = function::Equal>
requires (concepts::IndirectlyCopyable<It, Out> && (concepts::ForwardIterator<It> || (concepts::InputIterator<Out> && concepts::SameAs<meta::IteratorValue<It>, meta::IteratorValue<Out>>) || concepts::IndirectlyCopyableStorable<It, Out>) )
constexpr auto operator() (It first, Sent last, Out out, Comp comp={}, Proj proj={}) const -> InOutResult< It, Out >
 
template<concepts::InputContainer Con, concepts::WeaklyIncrementable Out, typename Proj = function::Identity, concepts::IndirectEquivalenceRelation< meta::Projected< meta::ContainerIterator< Con >, Proj > > Comp = function::Equal>
requires (concepts::IndirectlyCopyable<meta::ContainerIterator<Con>, Out> && (concepts::ForwardIterator<meta::ContainerIterator<Con>> || (concepts::InputIterator<Out> && concepts::SameAs<meta::ContainerValue<Con>, meta::ContainerValue<Out>>) || concepts::IndirectlyCopyableStorable<meta::ContainerIterator<Con>, Out>) )
constexpr auto operator() (Con &&container, Out out, Comp comp={}, Proj proj={}) const -> InOutResult< meta::BorrowedIterator< Con >, Out >
 

Member Function Documentation

◆ operator()() [1/2]

template<concepts::InputContainer Con, concepts::WeaklyIncrementable Out, typename Proj = function::Identity, concepts::IndirectEquivalenceRelation< meta::Projected< meta::ContainerIterator< Con >, Proj > > Comp = function::Equal>
requires (concepts::IndirectlyCopyable<meta::ContainerIterator<Con>, Out> && (concepts::ForwardIterator<meta::ContainerIterator<Con>> || (concepts::InputIterator<Out> && concepts::SameAs<meta::ContainerValue<Con>, meta::ContainerValue<Out>>) || concepts::IndirectlyCopyableStorable<meta::ContainerIterator<Con>, Out>) )
auto di::container::detail::UniqueCopyFunction::operator() ( Con && container,
Out out,
Comp comp = {},
Proj proj = {} ) const -> InOutResult<meta::BorrowedIterator<Con>, Out>
inlineconstexpr

◆ operator()() [2/2]

template<concepts::InputIterator It, concepts::SentinelFor< It > Sent, concepts::WeaklyIncrementable Out, typename Proj = function::Identity, concepts::IndirectEquivalenceRelation< meta::Projected< It, Proj > > Comp = function::Equal>
requires (concepts::IndirectlyCopyable<It, Out> && (concepts::ForwardIterator<It> || (concepts::InputIterator<Out> && concepts::SameAs<meta::IteratorValue<It>, meta::IteratorValue<Out>>) || concepts::IndirectlyCopyableStorable<It, Out>) )
auto di::container::detail::UniqueCopyFunction::operator() ( It first,
Sent last,
Out out,
Comp comp = {},
Proj proj = {} ) const -> InOutResult<It, Out>
inlineconstexpr

The documentation for this struct was generated from the following file: