-
Notifications
You must be signed in to change notification settings - Fork 422
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix warning about comparison between signed and unsigned integers #37
Conversation
+1 |
for (auto & kv : parameters_) { | ||
if (std::any_of(prefixes.cbegin(), prefixes.cend(), [&kv, &depth](const std::string & prefix) { | ||
if (kv.first.find(prefix + ".") == 0) { | ||
size_t length = prefix.length(); | ||
std::string substr = kv.first.substr(length); | ||
return std::count(substr.begin(), substr.end(), '.') < depth; | ||
// Cast as unsigned integer to avoid warning |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would remove the comment since it doesn't add much value (just my personal opinion).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added it because I thought it wasn't obvious why I static_cast
'd std::count
+1 |
+1 |
Fix warning about comparison between signed and unsigned integers
Reorder APIs arguments
take out test case
* First implementation of writer * Extract storage interface and sqlite3 implementation * Add test for sqlite storage * Split main() and rosbag2::record() * Add close() method to Storage * Add getMessage() method and refactor test * Refactor SqliteStorage constructor and open() * Add linters * Fix uncrustify * Fix cpplint * Specify test working directory * Better error handling * Use gmock matchers for assertions * Add test fixture for SqliteStorage tests * Extract message retrieval in tests into separate method * Add integration test for rosbag2::record() * Add ignore files for empty packages * Introduce create() method and refactor open() * Use shared pointer of Storage instead of SqliteStorage * Remove getDatabaseHandle() method * Fix uncrustify * Improve storage interface and add storage factory * Remove need of sleep() from integration test by usage of std::future * Move deletion of test database from fixture constructor to destructor * Use sqlite3 directly in intergration test instead of own sqlite wrapper * Move rosbag2::record() into Rosbag2 class * Use the test name as database file name * Add build instructions to README * ros2GH-37 Rename camelCase methods to snake_case * Use common test fixture * Add RAII wrapper for sqlite API * Mock away sqlite from sqlite_storage test * Use more reasonable assert * Add test * Add virtual destructor to WritableStorage * Use file_name instead of database_name in StorageFactory * Implement saving of test files in a tmp directory for linux/Mac * Try to implement saving of test files in a tmp directory for Windows * Write and use proper gmock SqliteWrappe mock * Refactor integration test and get rid of promise/future where possible * Throw exception in resource aquisition constructors * Make SqliteWrapper destructor virtual * Refactor test fixture and update SqliteWrapper mock * Fix warning when moving a temporary object * ros2GH-38 Refactor integration test * ros2GH-38 Get rid of superfluous string constructor in emplace_back() * ros2GH-38 Assert also execute_query() argument in sqlite_storage_test * ros2GH-38 add StorageFactory test * ros2GH-38 Refactor rosbag2 Test Fixture * ros2GH-40 Add first implementation of a rosbag reader and publisher * ros2GH-40 Add StorageFactory test when reading non-existing file * ros2GH-40 Fix uncrustify * ros2GH-40 Minor cleanup of CMakeLists * ros2GH-40 Wrap sqlite statements * ros2GH-40 Remove superfluous import * ros2GH-40 Use better include * ros2GH-40 Add play integration test * ros2GH-40 Fix Warning when moving a temporary object in reading * ros2GH-40 Initialize database pointer to nullpointer * ros2GH-40 Fix reader integration test * ros2GH-40 Polish storage wrapper * Revert "ros2GH-40: Wrap sqlite statements" * ros2GH-38 Fix Test Fixture after rebase * ros2GH-38 Refactor read_integration_test and refix Windows conversion warning * ros2GH-38 Add StorageFactory test * Simplify storage factory test * ros2GH-38 Try to fix flaky test * ros2GH-38 Move rclcpp::shutdown() at the end * ros2GH-41 Fix windows warning due to virtual explicit operator bool * ros2GH-41 Use sqlite3 vendor package in rosbag2 * ros2GH-41 Stop linking tests to sqlite * ros2GH-41 Fix test fixture on Windows * ros2GH-41 Cleanup test fixture includes * ros2GH-41 Print test database name * ros2GH-41 Correctly determine temp dir on Windows * ros2GH-41 Show error message on sqlite_open failure * ros2GH-41 Actually create temp dir on Windows * ros2GH-41 Fix bool conversion warning in VS2015 build * Fix CMakeLists.txt after rebase * ros2GH-40 Implement workouround to fix flaky test * Update package.xml * Add gtest test dependencies to package.xml * ros2GH-40 Move to sqlite3_storage_plugin folder - The separation into the intended structure and plugin apis is not there yet. However, most code will stay in the storage plugin for sqlite3 file. - Proper separation of this code into storage plugin and rosbag layer will be done in bosch-io/aos-rosbag2#5. * ros2GH-40 Add TODO comments and small cleanup
Fixes warning
@dirk-thomas @tfoote @wjwwood