commit | fef14dcb5e4615eef973404816e65a40a4bc8536 | [log] [tgz] |
---|---|---|
author | Aaron Green <aarongreen@google.com> | Wed Feb 28 00:08:36 2024 +0000 |
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Feb 28 00:08:36 2024 +0000 |
tree | efa0b2fbde6b8a800aea6df7552a96ebbc3faa8c | |
parent | b10b18a6800a187b29bf62d7655269d5031b7650 [diff] |
pw_sync: Allow implict conversion when moving BorrowedPointer This CL allows move-constructing or move-assigning a BorrowedPointer from another when the latter's template parameter types are assignable to the former's template parameter types. For example, if `Derived` is derived from `Base`, this CL makes it possible to write: ``` Derived derived; VirtualBasicLockable lock; Borrowable<Derived> borrowable_derived(derived, lock); BorrowedPointer<Base> borrowed_base = borrowable_derived.acquire(); ``` b/323971974 Change-Id: I64126dd87877562ee9e614c63d88e677d2ebf862 Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194394 Commit-Queue: Aaron Green <aarongreen@google.com> Presubmit-Verified: CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Taylor Cramer <cramertj@google.com>
Pigweed is an open source collection of embedded-targeted libraries–or as we like to call them, modules. These modules are building blocks and infrastructure that enable faster and more reliable development on small-footprint MMU-less 32-bit microcontrollers like the STMicroelectronics STM32L452 or the Nordic nRF52832.
For more information please see our website: https://pigweed.dev/.