24 #ifndef ARM_COMPUTE_TEST_DATASET_JOIN
25 #define ARM_COMPUTE_TEST_DATASET_JOIN
46 template <
typename T,
typename U>
52 using iter1_type =
typename T_noref::iterator;
53 using iter2_type =
typename U_noref::iterator;
62 : _dataset1{ std::forward<T>(dataset1) },
63 _dataset2{ std::forward<U>(dataset2) }
81 iterator(
const T_noref *dataset1,
const U_noref *dataset2)
82 : _iter1{ dataset1->begin() }, _iter2{ dataset2->begin() }, _first_size{ dataset1->size() }
92 return _first_size > 0 ? _iter1.description() : _iter2.description();
101 return _first_size > 0 ? *_iter1 : *_iter2;
135 return iterator(&_dataset1, &_dataset2);
144 return _dataset1.size() + _dataset2.size();
159 template <
typename T,
typename U>