in RenderCore/Utilities/CKFunctionalHelpers.h [181:195]
auto intersperse(const std::vector<T> &a, CK_NOESCAPE Func &&factory) -> std::vector<T>
{
if (a.size() < 2) {
return a;
}
std::vector<T> newVector;
for (int i = 0; i < a.size(); i++) {
newVector.push_back(a.at(i));
if (i != a.size() - 1) {
newVector.push_back(factory());
}
}
return newVector;
}