...
This commit is contained in:
parent
25f60e561b
commit
3e19ca4dd6
@ -67,6 +67,12 @@ struct AdcTokenManip {
|
|||||||
return std::views::split(_byteSequence, dl) | std::views::drop(start) | std::views::take(num);
|
return std::views::split(_byteSequence, dl) | std::views::drop(start) | std::views::take(num);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template <traits::adc_char_view VT, traits::adc_input_char_range DR>
|
||||||
|
auto joinTokens(const DR& delimiter, size_t start = 0, size_t num = std::numeric_limits<size_t>::max())
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
template <traits::adc_input_char_range DR, typename T, typename... Ts>
|
template <traits::adc_input_char_range DR, typename T, typename... Ts>
|
||||||
AdcTokenManip& addTokens(const DR& delimiter, T&& v, Ts&&... vs)
|
AdcTokenManip& addTokens(const DR& delimiter, T&& v, Ts&&... vs)
|
||||||
{
|
{
|
||||||
@ -618,24 +624,24 @@ public:
|
|||||||
|
|
||||||
AdcTokenMessage(R& byte_seq) : base_t(byte_seq) {}
|
AdcTokenMessage(R& byte_seq) : base_t(byte_seq) {}
|
||||||
|
|
||||||
// auto tokens(size_t start = 0, size_t num = std::numeric_limits<size_t>::max())
|
|
||||||
// {
|
|
||||||
// std::vector<std::span<const char>> res;
|
|
||||||
// std::ranges::for_each(base_t::tokens(tokenDelimiter, start, num),
|
|
||||||
// [&res](const auto& el) { res.emplace_back(el.begin(), el.end()); });
|
|
||||||
|
|
||||||
// return res;
|
|
||||||
// }
|
|
||||||
|
|
||||||
template <traits::adc_range_of_view_char_range RT>
|
template <traits::adc_range_of_view_char_range RT>
|
||||||
auto tokens(RT& res, size_t start = 0, size_t num = std::numeric_limits<size_t>::max())
|
auto tokens(size_t start = 0, size_t num = std::numeric_limits<size_t>::max())
|
||||||
{
|
{
|
||||||
|
RT res;
|
||||||
|
|
||||||
std::ranges::for_each(base_t::tokens(tokenDelimiter, start, num),
|
std::ranges::for_each(base_t::tokens(tokenDelimiter, start, num),
|
||||||
[&res](const auto& el) { res.emplace_back(el.begin(), el.end()); });
|
[&res](const auto& el) { res.emplace_back(el.begin(), el.end()); });
|
||||||
|
|
||||||
return &res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
auto tokens(size_t start = 0, size_t num = std::numeric_limits<size_t>::max())
|
||||||
|
{
|
||||||
|
return tokens<std::vector<std::span<const char>>>(start, num);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
template <typename TokT, typename... TokTs>
|
template <typename TokT, typename... TokTs>
|
||||||
AdcTokenMessage& addTokens(TokT&& token, TokTs&&... tokens)
|
AdcTokenMessage& addTokens(TokT&& token, TokTs&&... tokens)
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user