int main(void) { time_t start = get_current_time(); // sleep(1); time_t end = get_current_time(); Interval *interval = make_interval(start, end); double diff = interval_duration(interval); print_interval(interval); free_interval(interval); (void) printf("Elapsed time in seconds %lf\n", diff); return EXIT_SUCCESS; }
int main() { auto rng = make_interval(0, 4); auto as_unique_ptr = [](auto&& i) { using I = decltype(i); return std::make_unique<std::decay_t<I>>(std::forward<I>(i)); }; { std::unique_ptr<int> some_ints[] = { std::make_unique<int>(0), std::make_unique<int>(1), std::make_unique<int>(2), std::make_unique<int>(3), }; ranges::transform(rng, ranges::begin(some_ints), as_unique_ptr); test(some_ints); } { std::vector<std::unique_ptr<int>> some_ints; ranges::transform(rng, ranges::back_inserter(some_ints), as_unique_ptr); test(some_ints); } return test_result(); }
constexpr auto span(const FromT &begin, const SizeT &s = SizeT()) { return make_interval(begin, begin + s); }