Skip to content

Generalize `join`

join previously required operator+ to append. It also required the final storage type to be equal to the result type of operator+. This prevents some important use cases -- for instance, joining a range of std::string_view with a std::string_view separator.

Instead, join now requires the user to pass in the target type. Implement concatenation with the .append(iterator, iterator) member function of the target type.

Add unit tests for this new join implementation. This adds Catch2 as a dependency to implement these unit tests.

Merge request reports

Loading