38template<ns_concept::Iterable R1, ns_concept::Iterable R2>
41 std::ranges::for_each(from, [&](
auto&& e){ to.push_back(e); });
53requires ( std::convertible_to<Args, typename R::value_type> && ... )
56 ( r.push_back(std::forward<Args>(args)), ... );
68requires ( std::convertible_to<Args, typename R::value_type> && ... )
72 ( (it = r.insert(it, std::forward<Args>(args)), ++it), ... );
83template<ns_concept::Iterable R = std::vector<std::
string>>
90 while (std::getline(stream_token, token, delimiter))
92 tokens.push_back(token);
Custom C++ concepts for type constraints and compile-time validation.
Concept for iterable containers (has begin() and end())
Concept for types that can be represented as a string.
std::string to_string(T &&t) noexcept
Converts a type to a string.
Vector and container manipulation utilities.
void append_range(R1 &to, R2 const &from) noexcept
Appends a range of values from a src to a dst.
void push_back(R &r, Args &&... args) noexcept
Helper to push back multiple elements into an input iterator.
void push_front(R &r, Args &&... args) noexcept
Helper to prepend multiple elements to the front of a container.
R from_string(ns_concept::StringRepresentable auto &&t, char delimiter) noexcept
Creates a range from a string.