pw_tokenizer: Move Base64 functions to class

- Move the Base64 tokenization functions to the tokenizer class, which
  is much cleaner to work with.
- Have AutoUpdatingDetokenizer derive from Detokenizer. This makes
  working with detokenizers simpler.

Change-Id: Ic6bd9354c34f21a9931c83200e7c98e05911b6a2
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/47761
Reviewed-by: Keir Mierle <keir@google.com>
Commit-Queue: Keir Mierle <keir@google.com>
Commit-Queue: Wyatt Hepler <hepler@google.com>
5 files changed
tree: 68f46937dadf518ce8df1adcb962c88c14fe0b0f
  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_fuzzer/
  30. pw_hdlc/
  31. pw_hex_dump/
  32. pw_i2c/
  33. pw_interrupt/
  34. pw_interrupt_cortex_m/
  35. pw_kvs/
  36. pw_libc/
  37. pw_log/
  38. pw_log_basic/
  39. pw_log_multisink/
  40. pw_log_null/
  41. pw_log_rpc/
  42. pw_log_sink/
  43. pw_log_tokenized/
  44. pw_malloc/
  45. pw_malloc_freelist/
  46. pw_metric/
  47. pw_minimal_cpp_stdlib/
  48. pw_module/
  49. pw_multisink/
  50. pw_package/
  51. pw_persistent_ram/
  52. pw_polyfill/
  53. pw_preprocessor/
  54. pw_presubmit/
  55. pw_protobuf/
  56. pw_protobuf_compiler/
  57. pw_random/
  58. pw_result/
  59. pw_ring_buffer/
  60. pw_router/
  61. pw_rpc/
  62. pw_snapshot/
  63. pw_span/
  64. pw_status/
  65. pw_stm32cube_build/
  66. pw_stream/
  67. pw_string/
  68. pw_sync/
  69. pw_sync_baremetal/
  70. pw_sync_embos/
  71. pw_sync_freertos/
  72. pw_sync_stl/
  73. pw_sync_threadx/
  74. pw_sys_io/
  75. pw_sys_io_arduino/
  76. pw_sys_io_baremetal_lm3s6965evb/
  77. pw_sys_io_baremetal_stm32f429/
  78. pw_sys_io_stdio/
  79. pw_target_runner/
  80. pw_thread/
  81. pw_thread_embos/
  82. pw_thread_freertos/
  83. pw_thread_stl/
  84. pw_thread_threadx/
  85. pw_tokenizer/
  86. pw_tool/
  87. pw_toolchain/
  88. pw_trace/
  89. pw_trace_tokenized/
  90. pw_unit_test/
  91. pw_varint/
  92. pw_watch/
  93. pw_web_ui/
  94. targets/
  95. third_party/
  96. .bazelignore
  97. .bazelrc
  98. .clang-format
  99. .eslintrc.json
  100. .gitattributes
  101. .gitignore
  102. .gn
  103. .prettierrc.js
  104. .pylintrc
  105. activate.bat
  106. AUTHORS
  107. bootstrap.bat
  108. bootstrap.sh
  109. BUILD
  110. BUILD.gn
  111. BUILDCONFIG.gn
  112. CMakeLists.txt
  113. LICENSE
  114. modules.gni
  115. OWNERS
  116. package.json
  117. PW_PLUGINS
  118. README.md
  119. tsconfig.json
  120. WORKSPACE
  121. yarn.lock
README.md

See our website: http://pigweed.dev