ΒΆtemplate <typename ForwardIterator,
          typename UnaryFunctor,
          typename NullaryFunctor,
          typename = typename std::enable_if<
              !std::is_constructible<
                  StringRef,
                  UnaryFunctor>::value &&
              !std::is_constructible<
                  StringRef,
                  NullaryFunctor>::value>::type>
inline void interleave(ForwardIterator begin,
                       ForwardIterator end,
                       UnaryFunctor each_fn,
                       NullaryFunctor between_fn)

Description

An STL-style algorithm similar to std::for_each that applies a second functor between every pair of elements. This provides the control flow logic to, for example, print a comma-separated list:

Declared at: llvm/include/llvm/ADT/STLExtras.h:1869

Templates

ForwardIterator
UnaryFunctor
NullaryFunctor
= typename std::enable_if<!std::is_constructible<StringRef, UnaryFunctor>::value && !std::is_constructible<StringRef, NullaryFunctor>::value>::type

Parameters

ForwardIterator begin
ForwardIterator end
UnaryFunctor each_fn
NullaryFunctor between_fn