pubsub: Initial set of events; update Event type check

- Create an initial std::variant of events. These are intended only as
  rough examples are subject to change.
- Replace std::enable_if on the constructor with a static_assert on the
  class that checks that all std::variant elements are trivially
  copyable, trivially destructible, and standard layout.
- Apply formatting fixes.

Change-Id: Icaab843788699b6b3ee745ec181efb77a405d9b2
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/showcase/rp2/+/220739
Commit-Queue: Wyatt Hepler <hepler@google.com>
Pigweed-Auto-Submit: Wyatt Hepler <hepler@google.com>
Reviewed-by: Alexei Frolov <frolv@google.com>
Reviewed-by: Keir Mierle <keir@google.com>
Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com>
11 files changed
tree: c51ff18c6409c4658ed7ac280b139d609cdf831f
  1. .vscode/
  2. apps/
  3. device/
  4. modules/
  5. system/
  6. targets/
  7. tools/
  8. .bazelignore
  9. .bazelrc
  10. .bazelversion
  11. .clang-format
  12. .gitignore
  13. AUTHORS
  14. BUILD.bazel
  15. CONTRIBUTING.md
  16. LICENSE
  17. OWNERS
  18. pigweed.json
  19. README.md
  20. WORKSPACE
README.md

Pigweed Open Source Template Repository

This repository is a template that we will use when creating new open source repositories for Pigweed.