Upgrade from FlatbufferString to FlatbufferSpan
Less copies, and now we can get rid of FlatbufferString
Change-Id: Ic027de4270d7232d0defadc2b193072aa8e4c8e5
diff --git a/y2020/vision/tools/python_code/BUILD b/y2020/vision/tools/python_code/BUILD
index 4ff3397..6223d76 100644
--- a/y2020/vision/tools/python_code/BUILD
+++ b/y2020/vision/tools/python_code/BUILD
@@ -49,6 +49,9 @@
],
target_compatible_with = ["@platforms//os:linux"],
visibility = ["//visibility:public"],
+ deps = [
+ "@com_google_absl//absl/types:span",
+ ],
)
py_binary(
@@ -102,6 +105,9 @@
],
target_compatible_with = ["@platforms//os:linux"],
visibility = ["//visibility:public"],
+ deps = [
+ "@com_google_absl//absl/types:span",
+ ],
)
cc_test(
diff --git a/y2020/vision/tools/python_code/load_sift_training.py b/y2020/vision/tools/python_code/load_sift_training.py
index 402e468..2dc5cf2 100644
--- a/y2020/vision/tools/python_code/load_sift_training.py
+++ b/y2020/vision/tools/python_code/load_sift_training.py
@@ -219,13 +219,14 @@
output_prefix = [
b'#ifndef Y2020_VISION_TOOLS_PYTHON_CODE_TRAINING_DATA_H_',
b'#define Y2020_VISION_TOOLS_PYTHON_CODE_TRAINING_DATA_H_',
- b'#include <string_view>',
+ b'#include <stdint.h>',
+ b'#include "absl/types/span.h"',
b'namespace frc971 {',
b'namespace vision {',
- b'inline std::string_view SiftTrainingData() {',
+ b'inline absl::Span<const uint8_t> SiftTrainingData() {',
]
output_suffix = [
- b' return std::string_view(kData, sizeof(kData));',
+ b' return absl::Span<const uint8_t>(reinterpret_cast<const uint8_t *>(kData), sizeof(kData));',
b'}',
b'} // namespace vision',
b'} // namespace frc971',