簡體   English   中英

如何從未知視圖聲明 range::v3::View 變量

[英]how do to declare a range::v3::View variable from an unknown view

我和之前的帖子有幾乎相同的問題: “你如何聲明一個 range-v3 視圖返回值?”

但是這個答案只是說避免聲明返回類型並改用auto ,這並不能解決我的問題,而且我在任何地方都找不到這個問題。

我需要創建一個結構來保存由運行時確定的幾個函數之一返回的某種類型的視圖。 這里是基於引用帖子的代碼片段。 其他功能類似,只是視圖類型不同;

auto my_view(...)
{ // ...
    return ranges::view::reverse | ranges::view::filter([](int l){return l>5;});
}

我的第一直覺是根據返回的類型制作模板結構,我認為這樣可以解決問題,但是如果沒有類型名,我該怎么做呢?

如何聲明這樣的 class 變量?

另外,因為我的情況實際上比上面更復雜,所以模板並不理想。 如果有辦法保存非模板結構的任何視圖,我會更喜歡?

range::any_view 是最能解決我的問題的答案

我能夠創建一個包含成員 any_view<value_type> 的結構,並像您對典型范圍::view 所期望的那樣使用它,而不必知道確切的類型

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM