auto intersperse()

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;
  }