summaryrefslogtreecommitdiff
path: root/src/ipa/raspberrypi/controller/noise_status.h
diff options
context:
space:
mode:
authorBarnabás Pőcze <pobrn@protonmail.com>2022-11-26 23:42:27 +0000
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2022-11-28 16:11:20 +0200
commit1cd7646f970d90f3c8bec02259a2415c5cf89016 (patch)
tree6e7187b349021cdddf2dfa1ef334dfb60298e8ec /src/ipa/raspberrypi/controller/noise_status.h
parentb35f04b3c19487de903b67340fcfb801557295d3 (diff)
libcamera: framebuffer_allocator: Avoid double map lookup
Use `try_emplace()` on the map instead of `count()` and `operator[]` to avoid walking the tree twice. Signed-off-by: Barnabás Pőcze <pobrn@protonmail.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/ipa/raspberrypi/controller/noise_status.h')
0 files changed, 0 insertions, 0 deletions
rolInfoMap &lhs, const ControlInfoMap &rhs) { std::map<unsigned int, ControlInfo> rlhs; std::transform(lhs.begin(), lhs.end(), std::inserter(rlhs, rlhs.end()), [](const ControlInfoMap::value_type &v) -> decltype(rlhs)::value_type { return { v.first->id(), v.second }; }); std::map<unsigned int, ControlInfo> rrhs; std::transform(rhs.begin(), rhs.end(), std::inserter(rrhs, rrhs.end()), [](const ControlInfoMap::value_type &v) -> decltype(rrhs)::value_type { return { v.first->id(), v.second }; }); if (rlhs == rrhs) return true; cerr << "lhs:" << endl; for (const auto &value : rlhs) cerr << "- " << value.first << ": " << value.second.toString() << endl; cerr << "rhs:" << endl; for (const auto &value : rrhs) cerr << "- " << value.first << ": " << value.second.toString() << endl; return false; } bool SerializationTest::equals(const ControlList &lhs, const ControlList &rhs) { std::map<unsigned int, ControlValue> rlhs; std::transform(lhs.begin(), lhs.end(), std::inserter(rlhs, rlhs.end()), [](const std::pair<unsigned int, ControlValue> &v) -> decltype(rlhs)::value_type { return { v.first, v.second }; }); std::map<unsigned int, ControlValue> rrhs; std::transform(rhs.begin(), rhs.end(), std::inserter(rrhs, rrhs.end()), [](const std::pair<unsigned int, ControlValue> &v) -> decltype(rrhs)::value_type { return { v.first, v.second }; }); if (rlhs == rrhs) return true; cerr << "lhs:" << endl; for (const auto &value : rlhs) cerr << "- " << value.first << ": " << value.second.toString() << endl; cerr << "rhs:" << endl; for (const auto &value : rrhs) cerr << "- " << value.first << ": " << value.second.toString() << endl; return false; }