dfx 0.1.0
Linux-based dynamic dataflow executor
Loading...
Searching...
No Matches
dfx::Utils::JoinedView< Range > Class Template Reference

Lightweight wrapper used to format a range as a delimiter-joined string via std::format. More...

#include <dfx-utilities/Join.hpp>

Public Member Functions

constexpr JoinedView (Range range, std::string_view delimiter) noexcept
 Construct a joined view over a range with a delimiter.
constexpr Range const & range () const noexcept
 Access the stored range.
constexpr std::string_view delimiter () const noexcept
 Access the delimiter used between elements.

Detailed Description

template<std::ranges::forward_range Range>
class dfx::Utils::JoinedView< Range >

Lightweight wrapper used to format a range as a delimiter-joined string via std::format.

JoinedView stores:

  • a copy of the provided range (by value),
  • a delimiter as std::string_view.

It is primarily meant to be passed to std::format / std::print:

std::vector<int> v{1,2,3};
auto j = dfx::Utils::join(v, ", ");
std::string s = std::format("{}", j); // "1, 2, 3"
constexpr JoinedView< Range > join(Range const &range, std::string_view delimiter) noexcept
Create a JoinedView from a range and a delimiter.
Definition Join.hpp:73
Template Parameters
RangeA forward range type (must satisfy std::ranges::forward_range).
Note
Formatting requirements: each element of the range must be formattable by std::format (i.e., std::format("{}", element) must compile).

Constructor & Destructor Documentation

◆ JoinedView()

template<std::ranges::forward_range Range>
dfx::Utils::JoinedView< Range >::JoinedView ( Range range,
std::string_view delimiter )
inlineconstexprnoexcept

Construct a joined view over a range with a delimiter.

Parameters
rangeRange to join. Stored by value inside the view.
delimiterDelimiter placed between consecutive elements. Stored as std::string_view.

Member Function Documentation

◆ delimiter()

template<std::ranges::forward_range Range>
std::string_view dfx::Utils::JoinedView< Range >::delimiter ( ) const
inlineconstexprnoexcept

Access the delimiter used between elements.

Returns
The delimiter as a std::string_view.

◆ range()

template<std::ranges::forward_range Range>
Range const & dfx::Utils::JoinedView< Range >::range ( ) const
inlineconstexprnoexcept

Access the stored range.

Returns
A const reference to the internally stored range.

The documentation for this class was generated from the following file: