pw_stream: Add a ReaderWriter base class

Add a `class ReaderWriter` base class that combines interfaces of
pw::stream::Reader/Writer.

Change-Id: I20a8d506523483bb9c61f3990ffea2b79a1c1a3c
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/48462
Commit-Queue: Yecheng Zhao <zyecheng@google.com>
Reviewed-by: David Rogers <davidrogers@google.com>
Reviewed-by: Ali Zhang <alizhang@google.com>
5 files changed
tree: b4401d3777f0f2d2030a4a511c3c8f510396152b
  1. build_overrides/
  2. docker/
  3. docs/
  4. pw_allocator/
  5. pw_analog/
  6. pw_arduino_build/
  7. pw_assert/
  8. pw_assert_basic/
  9. pw_assert_log/
  10. pw_base64/
  11. pw_bloat/
  12. pw_blob_store/
  13. pw_boot_armv7m/
  14. pw_build/
  15. pw_bytes/
  16. pw_checksum/
  17. pw_chrono/
  18. pw_chrono_embos/
  19. pw_chrono_freertos/
  20. pw_chrono_stl/
  21. pw_chrono_threadx/
  22. pw_cli/
  23. pw_containers/
  24. pw_cpu_exception/
  25. pw_cpu_exception_cortex_m/
  26. pw_docgen/
  27. pw_doctor/
  28. pw_env_setup/
  29. pw_function/
  30. pw_fuzzer/
  31. pw_hdlc/
  32. pw_hex_dump/
  33. pw_i2c/
  34. pw_interrupt/
  35. pw_interrupt_cortex_m/
  36. pw_kvs/
  37. pw_libc/
  38. pw_log/
  39. pw_log_basic/
  40. pw_log_multisink/
  41. pw_log_null/
  42. pw_log_rpc/
  43. pw_log_sink/
  44. pw_log_tokenized/
  45. pw_malloc/
  46. pw_malloc_freelist/
  47. pw_metric/
  48. pw_minimal_cpp_stdlib/
  49. pw_module/
  50. pw_multisink/
  51. pw_package/
  52. pw_persistent_ram/
  53. pw_polyfill/
  54. pw_preprocessor/
  55. pw_presubmit/
  56. pw_protobuf/
  57. pw_protobuf_compiler/
  58. pw_random/
  59. pw_result/
  60. pw_ring_buffer/
  61. pw_router/
  62. pw_rpc/
  63. pw_snapshot/
  64. pw_span/
  65. pw_status/
  66. pw_stm32cube_build/
  67. pw_stream/
  68. pw_string/
  69. pw_sync/
  70. pw_sync_baremetal/
  71. pw_sync_embos/
  72. pw_sync_freertos/
  73. pw_sync_stl/
  74. pw_sync_threadx/
  75. pw_sys_io/
  76. pw_sys_io_arduino/
  77. pw_sys_io_baremetal_lm3s6965evb/
  78. pw_sys_io_baremetal_stm32f429/
  79. pw_sys_io_stdio/
  80. pw_target_runner/
  81. pw_thread/
  82. pw_thread_embos/
  83. pw_thread_freertos/
  84. pw_thread_stl/
  85. pw_thread_threadx/
  86. pw_tokenizer/
  87. pw_tool/
  88. pw_toolchain/
  89. pw_trace/
  90. pw_trace_tokenized/
  91. pw_unit_test/
  92. pw_varint/
  93. pw_watch/
  94. pw_web_ui/
  95. targets/
  96. third_party/
  97. .bazelignore
  98. .bazelrc
  99. .clang-format
  100. .eslintrc.json
  101. .gitattributes
  102. .gitignore
  103. .gn
  104. .prettierrc.js
  105. .pylintrc
  106. activate.bat
  107. AUTHORS
  108. bootstrap.bat
  109. bootstrap.sh
  110. BUILD
  111. BUILD.gn
  112. BUILDCONFIG.gn
  113. CMakeLists.txt
  114. LICENSE
  115. modules.gni
  116. OWNERS
  117. package.json
  118. PW_PLUGINS
  119. README.md
  120. tsconfig.json
  121. WORKSPACE
  122. yarn.lock
README.md

See our website: http://pigweed.dev