int main() { int ia[] = {0, 1, 2, 2, 0, 1, 2, 3}; const unsigned sa = sizeof(ia)/sizeof(ia[0]); int ib[] = {0, 1, 2, 3, 0, 1, 2, 3}; assert(std::mismatch(make_input_range(std::iter_range<const int*>(ia, ia + sa)), make_input_range(std::single_iter_range<const int*>(ib)), std::equal_to<int>()) == (std::pair<input_range<std::iter_range<const int*> >, input_range<std::single_iter_range<const int*> > > (make_input_range(std::iter_range<const int*>(ia+3, ia+sa)), make_input_range(std::single_iter_range<const int*>(ib+3))))); }
int main() { int ia[] = {0, 1, 2, 3, 4, 5}; const unsigned s = sizeof(ia)/sizeof(ia[0]); int ib[s] = {0, 1, 2, 5, 4, 5}; assert(std::equal(make_input_range(std::make_iter_range( input_iterator<const int*>(ia), input_iterator<const int*>(ia+s))), make_input_range(std::make_single_iter_range( input_iterator<const int*>(ia))))); assert(!std::equal(make_input_range(std::make_iter_range( input_iterator<const int*>(ia), input_iterator<const int*>(ia+s))), make_input_range(std::make_single_iter_range( input_iterator<const int*>(ib))))); }
infer_handle_from_class_t<T> spawn_class_in_groups(actor_config& cfg, Iter first, Iter last, Ts&&... xs) { check_invariants<T>(); auto irange = make_input_range(first, last); cfg.groups = &irange; return spawn_class<T, Os>(cfg, std::forward<Ts>(xs)...); }
infer_handle_from_fun_t<F> spawn_fun_in_groups(actor_config& cfg, Iter first, Iter second, F& fun, Ts&&... xs) { check_invariants<infer_impl_from_fun_t<F>>(); auto irange = make_input_range(first, second); cfg.groups = &irange; return spawn_functor<Os>(cfg, fun, std::forward<Ts>(xs)...); }
int main() { int ia[] = {0, 1, 2, 3, 0, 1, 2, 3}; const unsigned sa = sizeof(ia)/sizeof(ia[0]); int ib[] = {1, 3, 5, 7}; const unsigned sb = sizeof(ib)/sizeof(ib[0]); assert(std::find_first_of(make_input_range(std::make_iter_range(ia, ia + sa)), make_forward_range(std::make_iter_range(ib, ib + sb)), std::equal_to<int>()) == make_input_range(std::make_iter_range(ia+1, ia + sa))); int ic[] = {7}; assert(std::find_first_of(make_input_range(std::make_iter_range(ia, ia + sa)), make_forward_range(std::make_iter_range(ic,ic + 1)), std::equal_to<int>()) == make_input_range(std::make_iter_range(ia+sa, ia+sa))); assert(std::find_first_of(make_input_range(std::make_iter_range(ia, ia + sa)), make_forward_range(std::make_iter_range(ic, ic)), std::equal_to<int>()) == make_input_range(std::make_iter_range(ia+sa, ia+sa))); assert(std::find_first_of(make_input_range(std::make_iter_range(ia,ia)), make_forward_range(std::make_iter_range(ic, ic+1)), std::equal_to<int>()) == make_input_range(std::make_iter_range(ia, ia))); }