multidim

multidim::unique_copy

template <typename InputIt, typename OutputIt>
constexpr inline OutputIt unique_copy(InputIt first, InputIt last, OutputIt d_first);
template <typename InputIt, typename OutputIt, typename BinaryPredicate>
constexpr inline OutputIt unique_copy(InputIt first, InputIt last, OutputIt d_first, BinaryPredicate p);

These functions are similar to std::unique_copy, but they are guaranteed not to construct any temporary elements. Because of this, multidim::unique_copy has the following requirements: