Marking any operation in iox containers which may fail and return bool as [[nodiscard]]
Detailed information
The idea here is pretty straightforward. Taking iox::vector for example, the API for push back returns bool as compared to void of std::vector::push_back.
Marking this code as [[nodiscard]] will raise compiler warnings in the event that a user is pushing back blindly onto an iox::vector and not handling the case where it fails. If the user has performed size checks at the beginning of a loop, they can simply use ...
std::ignore = my_iox_vector.push_back(value);
If the iceoryx team is aligned with this approach, I can put up a PR to add the nodiscards
Brief feature description
Marking any operation in iox containers which may fail and return bool as
[[nodiscard]]
Detailed information
The idea here is pretty straightforward. Taking
iox::vector
for example, the API for push back returnsbool
as compared tovoid
ofstd::vector::push_back
.https://github.com/eclipse-iceoryx/iceoryx/blob/f0696966c51e35b6c8f84290d40df7f87c6ed19c/iceoryx_hoofs/container/include/iox/vector.hpp#L200-L203
Marking this code as
[[nodiscard]]
will raise compiler warnings in the event that a user is pushing back blindly onto aniox::vector
and not handling the case where it fails. If the user has performed size checks at the beginning of a loop, they can simply use ...If the iceoryx team is aligned with this approach, I can put up a PR to add the nodiscards