Remove std::binary_function usage#561
Merged
wjwwood merged 1 commit intoros2:masterfrom Oct 2, 2018
aladram:master
Merged
Conversation
Deprecated in C++11, removed in C++17
Member
|
I wrote this originally, but I don't remember much about it :D, and I was probably following some online recommendation on how to make the strcmp wrapper. This seems reasonable to me, but we'll have to run CI on it to see if it breaks older compilers/c++ standards or not. |
Member
Contributor
Author
|
Running CI on a pull request, this also seems reasonable to me! ;) Thanks for triggering the CI build. |
Contributor
Author
|
Any news? CI looks fine (a test fails for Linux build, but it started to fail on the previous build, and anyway my change does not affect runtime but compile time). |
Member
|
lgtm to me, I agree the test failure is unrelated. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request removes an inherit of
std::binary_functionfor the structstrcmp_wrapper, a C-style string comparator.The struct
strcmp_wrapperis used by the IDTopicMap typedef (line 276) which is a std::map, and std::map requires strcmp_wrapper to fulfill the Compare named requirement. The inherit ofstd::binary_functiononly defines 3 types:first_argument_type,second_argument_typeandresult_type(typedefs of types passed in argument), which is useless here because they are not part of the requirement.std::binary_functionhas been deprecated in C++11, removed in C++17. This change may seem useless, but this change enables us to compile C++17 ROS2 packages using rclcpp (or at least some of them), which may be useful.