4#ifndef TETL_ALGORITHM_SET_SYMMETRIC_DIFFERENCE_HPP
5#define TETL_ALGORITHM_SET_SYMMETRIC_DIFFERENCE_HPP
7#include <etl/_algorithm/copy.hpp>
8#include <etl/_functional/less.hpp>
18template <
typename InputIt1,
typename InputIt2,
typename OutputIt,
typename Compare>
28 while (first1 != last1) {
29 if (first2 == last2) {
30 return etl::copy(first1, last1, destination);
33 if (comp(*first1, *first2)) {
34 *destination++ = *first1++;
36 if (comp(*first2, *first1)) {
37 *destination++ = *first2;
44 return etl::copy(first2, last2, destination);
47template <
typename InputIt1,
typename InputIt2,
typename OutputIt>
51 return etl::set_symmetric_difference(first1, last1, first2, last2, dest,
etl::
less());
constexpr auto set_symmetric_difference(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2, OutputIt destination, Compare comp) -> OutputIt
Definition set_symmetric_difference.hpp:19
constexpr auto set_symmetric_difference(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2, OutputIt dest) -> OutputIt
Definition set_symmetric_difference.hpp:48
Definition adjacent_find.hpp:9
Function object for performing comparisons. Unless specialised, invokes operator< on type T....
Definition less.hpp:15