/// @brief Utility function to avoid repetition. /// @details Calls mFunc on each element, and mFuncSeparator on each element except the last. Dispatches `repeatPenultimateImpl`. template<typename TItr, typename TFunc1, typename TFunc2> inline void repeatPenultimate(TItr mBegin, TItr mEnd, const TFunc1& mFunc, const TFunc2& mFuncSeparator) { repeatPenultimateImpl(mBegin, mEnd, mFunc, mFuncSeparator, typename std::iterator_traits<TItr>::iterator_category()); }
inline void repeatPenultimate( TItr mBegin, TItr mEnd, TFunc1 mFunc, TFunc2 mFuncSeparator) { repeatPenultimateImpl(mBegin, mEnd, mFunc, mFuncSeparator, typename std::iterator_traits<TItr>::iterator_category()); }