MCPcopy Create free account
hub / github.com/Dobiasd/FunctionalPlus / extrapolate_wrap

Function extrapolate_wrap

include/fplus/extrapolate.hpp:125–139  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

123template <typename Container,
124 typename T = typename Container::value_type>
125Container extrapolate_wrap(std::size_t count_begin, std::size_t count_end,
126 const Container& xs)
127{
128 assert(is_not_empty(xs));
129 Container ys;
130 const auto xs_size = size_of_cont(xs);
131 internal::prepare_container(ys, xs_size + count_begin + count_end);
132 auto it = internal::get_back_inserter(ys);
133 const signed int idx_end = static_cast<signed int>(xs_size + count_end);
134 const signed int idx_start = -static_cast<signed int>(count_begin);
135 for (signed int idx = idx_start; idx < idx_end; ++idx) {
136 *it = elem_at_idx_or_wrap(idx, xs);
137 }
138 return ys;
139}
140
141} // namespace fplus

Callers 1

Calls 5

is_not_emptyFunction · 0.70
size_of_contFunction · 0.70
prepare_containerFunction · 0.70
get_back_inserterFunction · 0.70
elem_at_idx_or_wrapFunction · 0.70

Tested by

no test coverage detected