From e31c0075f90e7e6726fbe3d6645fe1131504874b Mon Sep 17 00:00:00 2001 From: Miguel Company Date: Wed, 22 Feb 2023 13:09:53 +0100 Subject: [PATCH] Using functors in StatefulWriter.cpp for_matched_readers (#3312) Signed-off-by: Miguel Company --- src/cpp/rtps/writer/StatefulWriter.cpp | 30 +++++++++++++++----------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/src/cpp/rtps/writer/StatefulWriter.cpp b/src/cpp/rtps/writer/StatefulWriter.cpp index 002f6974d83..3b5f1137468 100644 --- a/src/cpp/rtps/writer/StatefulWriter.cpp +++ b/src/cpp/rtps/writer/StatefulWriter.cpp @@ -70,9 +70,10 @@ namespace rtps { * The returned value is true if the routine returned true at any point, * or false otherwise. */ -bool for_matched_readers( +template +static bool for_matched_readers( ResourceLimitedVector& reader_vector_1, - std::function fun) + T fun) { for (ReaderProxy* remote_reader : reader_vector_1) { @@ -85,10 +86,11 @@ bool for_matched_readers( return false; } -bool for_matched_readers( +template +static bool for_matched_readers( ResourceLimitedVector& reader_vector_1, ResourceLimitedVector& reader_vector_2, - std::function fun) + T fun) { if (for_matched_readers(reader_vector_1, fun)) { @@ -97,11 +99,12 @@ bool for_matched_readers( return for_matched_readers(reader_vector_2, fun); } -bool for_matched_readers( +template +static bool for_matched_readers( ResourceLimitedVector& reader_vector_1, ResourceLimitedVector& reader_vector_2, ResourceLimitedVector& reader_vector_3, - std::function fun) + T fun) { if (for_matched_readers(reader_vector_1, reader_vector_2, fun)) { @@ -119,9 +122,10 @@ bool for_matched_readers( * * const version */ -bool for_matched_readers( +template +static bool for_matched_readers( const ResourceLimitedVector& reader_vector_1, - std::function fun) + T fun) { for (const ReaderProxy* remote_reader : reader_vector_1) { @@ -134,10 +138,11 @@ bool for_matched_readers( return false; } -bool for_matched_readers( +template +static bool for_matched_readers( const ResourceLimitedVector& reader_vector_1, const ResourceLimitedVector& reader_vector_2, - std::function fun) + T fun) { if (for_matched_readers(reader_vector_1, fun)) { @@ -146,11 +151,12 @@ bool for_matched_readers( return for_matched_readers(reader_vector_2, fun); } -bool for_matched_readers( +template +static bool for_matched_readers( const ResourceLimitedVector& reader_vector_1, const ResourceLimitedVector& reader_vector_2, const ResourceLimitedVector& reader_vector_3, - std::function fun) + T fun) { if (for_matched_readers(reader_vector_1, reader_vector_2, fun)) {