boostorg / boostorg/preprocessor

Minor feature request: BOOST_PP_IGNORE or update docs for BOOST_PP_EMPTY

Đang mở
#45 2 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
C++
Star
118
Fork
76
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

The current `BOOST_PP_EMPTY()` is not variadic, so its usefulness in `BOOST_PP_IF()` and the like is limited to when there are no arguments/params in the resultant call.

For example, this doesn't work:
```
#define X(a, b) result(a, b)
#define MACRO(a, b, c) BOOST_PP_IF(c, X, BOOST_PP_EMPTY)(a, b)
```

As explained in #34, changing the signature of `BOOST_PP_EMPTY()` is impractical, and another solution exists: `BOOST_VMD_EMPTY(...)` in `boost/vmd/empty.hpp`.

So this is a very minor issue, but it would be nice if either:
1. There were a `BOOST_PP_IGNORE(...)` to do this, or...
2. The reference docs for the `BOOST_PP_EMPTY` could also point to the VMD macro to use instead.

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

Hướng nghiên cứu

Bắt đầu với tài liệu tham chiếu của BOOST_PP_EMPTY và so sánh các hạn chế của nó với boost/vmd/empty.hpp, nơi BOOST_VMD_EMPTY(...) được đề cập như một giải pháp thay thế hiện có. Đọc #34 để hiểu bối cảnh đằng sau ràng buộc về chữ ký. Được xem là hoàn tất khi либо tài liệu tham chiếu của BOOST_PP_EMPTY ghi lại giải pháp thay thế, hoặc bổ sung hành vi BOOST_PP_IGNORE(...) được yêu cầu, và cách tiếp cận đã chọn được đề cập rõ ràng.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
cpp
Lĩnh vực
compilers
Loại issue
Tính năng
Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
45/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.