roll: pigweed pw_containers: Make item type deduction generic

This CL moves generic intrusive container and item functions to a
standalone file, and renames them to avoid mentioning lists. This makes
them available to be reused by other intrusive containers, such as the
forthcoming intrusive maps.

Affected functions include the item type deduction checks for and the
assertions for containers and items before insertion or destruction.

Original-Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/235105
Original-Revision: 7f4759a3877ac31bb0b0b2799a759d13382d9bba

Rolled-Repo: https://pigweed.googlesource.com/pigweed/pigweed
Rolled-Commits: 25c8b842ecfa6d..7f4759a3877ac3
Roller-URL: https://ci.chromium.org/b/8736421620712237601
GitWatcher: ignore
CQ-Do-Not-Cancel-Tryjobs: true
Change-Id: Ie835215ac06126149c3a05909a5bfa89f24dfd87
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/showcase/sense/+/236722
Bot-Commit: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com>
1 file changed
tree: ac9ae847460e5deff88559473432955397b60907
  1. .github/
  2. .vscode/
  3. apps/
  4. device/
  5. modules/
  6. system/
  7. targets/
  8. tools/
  9. web_app/
  10. .bazelignore
  11. .bazelrc
  12. .bazelversion
  13. .buildifier.json
  14. .clang-format
  15. .clangd.shared
  16. .gitignore
  17. .pw_console.yaml
  18. AUTHORS
  19. BUILD.bazel
  20. CONTRIBUTING.md
  21. LICENSE
  22. MODULE.bazel
  23. MODULE.bazel.lock
  24. OWNERS
  25. pigweed.json
  26. README.md
README.md

Sense

git clone https://pigweed.googlesource.com/pigweed/showcase/sense

Welcome to Pigweed Sense, a tour of key Pigweed components experienced through an imagined air quality product.

Please visit Sense: An interactive tour through Pigweed to get started.