Splitting the return value of type pair into two different senders
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- cpp
- Lĩnh vực
- backend-api-design
Hướng nghiên cứu
Bắt đầu với issue #479 và ngữ nghĩa split() của đề xuất được mô tả trong đó. Xác định liệu mô hình sender hiện tại có hỗ trợ chuyển hai phần tử của một cặp vào các sender downstream riêng biệt mà không sao chép chúng hay không, và ghi lại cách tiếp cận được hỗ trợ hoặc thiết kế cần thiết còn thiếu. Issue không nêu tên tệp nguồn hay các bài kiểm thử.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Hello, I am a grad student at Georgia Tech and I have been trying to follow your work on this proposal closely. I am quite looking forward to this proposal going into the C++ standard someday. My question is as follows:
Let's say we have a sender that returns a pair of values std::pair<std::vector, std::set>
Since these objects can be quite costly to copy, I want to move them. But let's say they are computed by a single sender and I want to move these into two different senders creating a split in the dependency chain.
A
| \
B C
So, above the A sender returns the pair and I want the contents of the pair moved to senders B and C. In the proposal, one can use the split() to achieve this kind of split in the dependency DAG but I don't see how I can avoid copying the pair when I create a multishot sender so that both B and C get access to the pair. But, as you can see, this doesn't achieve what I want. I want to move the first of the pair to B and the second of the pair to C.
Is there a way to achieve this kind of functionality with the current status of the proposal?
Thanks,
Fatih
- Ngôn ngữ chính
- C++
- Star
- 2.4k
- Fork
- 270
- Merge trung bình
- 2 ngày 16 giờ
- Pull request đã merge (30 ngày)
- 43
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của NVIDIA/stdexec
-
inline_scheduler's namespace-scope static_assert fails under nvcc (private nested __sender access) Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 65/100
Tất cả issue của NVIDIA/stdexec
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
google/libultrahdr#485 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
godotengine/godot#123776 ·
-
bug
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 60/100
-
good first issue
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
-
good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
ros2/common_interfaces#344 ·