45auto make_lin_space(T start, T stop, std::size_t number,
bool endpoint =
true) {
46 using boost::make_counting_iterator;
47 using boost::make_iterator_range;
48 using boost::make_transform_iterator;
50 auto const dx = (stop - start) / T(number - endpoint);
51 auto x = [dx, start](std::size_t i) {
return start + T(i) * dx; };
53 return make_iterator_range(
54 make_transform_iterator(make_counting_iterator(std::size_t(0)), x),
55 make_transform_iterator(make_counting_iterator(number), x));