Reduce gsl::span usage so we can remove it
We already have absl::Span, no need to add more animals to the zoo.
This should let us delete 2 libraries out of third_party.
While we are here, the teensy code for 2019 wasn't being built. Fix
that.
Change-Id: I247750016926122240bc76e6194cf2ddfc15e9c2
Signed-off-by: Austin Schuh <austin.linux@gmail.com>
diff --git a/aos/util/BUILD b/aos/util/BUILD
index a612438..d75d421 100644
--- a/aos/util/BUILD
+++ b/aos/util/BUILD
@@ -7,7 +7,7 @@
],
visibility = ["//visibility:public"],
deps = [
- "//third_party/GSL",
+ "@com_google_absl//absl/types:span",
],
)
diff --git a/aos/util/bitpacking.h b/aos/util/bitpacking.h
index f6d1e4e..844a940 100644
--- a/aos/util/bitpacking.h
+++ b/aos/util/bitpacking.h
@@ -4,7 +4,7 @@
#include <cassert>
#include <type_traits>
-#include "third_party/GSL/include/gsl/gsl"
+#include "absl/types/span.h"
namespace aos {
@@ -31,7 +31,7 @@
template <typename Integer, size_t bits, size_t offset>
typename std::enable_if<std::is_unsigned<Integer>::value &&
sizeof(Integer) * 8 >= bits>::type
-PackBits(const Integer value, const gsl::span<char> destination) {
+PackBits(const Integer value, const absl::Span<char> destination) {
assert(static_cast<size_t>(destination.size()) * 8u >= bits + offset);
size_t bits_completed = 0;
while (bits_completed < bits) {
@@ -69,7 +69,7 @@
typename std::enable_if<std::is_unsigned<Integer>::value &&
sizeof(Integer) * 8 >= bits,
Integer>::type
-UnpackBits(const gsl::span<const char> source) {
+UnpackBits(const absl::Span<const char> source) {
Integer result = 0;
assert(static_cast<size_t>(source.size()) * 8u >= bits + offset);
size_t bits_completed = 0;
diff --git a/aos/util/bitpacking_test.cc b/aos/util/bitpacking_test.cc
index 584804b..80d1977 100644
--- a/aos/util/bitpacking_test.cc
+++ b/aos/util/bitpacking_test.cc
@@ -29,30 +29,30 @@
TEST(PackBitsTest, Basic) {
{
std::array<char, 3> buffer{};
- PackBits<uint8_t, 8, 0>(0, buffer);
+ PackBits<uint8_t, 8, 0>(0, absl::Span<char>(buffer));
EXPECT_EQ((std::array<char, 3>{}), buffer);
- PackBits<uint8_t, 8, 0>(9, buffer);
+ PackBits<uint8_t, 8, 0>(9, absl::Span<char>(buffer));
EXPECT_EQ((std::array<char, 3>{{9, 0, 0}}), buffer);
- PackBits<uint8_t, 8, 8>(7, buffer);
+ PackBits<uint8_t, 8, 8>(7, absl::Span<char>(buffer));
EXPECT_EQ((std::array<char, 3>{{9, 7, 0}}), buffer);
- PackBits<uint8_t, 8, 16>(1, buffer);
+ PackBits<uint8_t, 8, 16>(1, absl::Span<char>(buffer));
EXPECT_EQ((std::array<char, 3>{{9, 7, 1}}), buffer);
}
{
std::array<char, 3> buffer{};
- PackBits<uint16_t, 16, 0>(0xdead, buffer);
+ PackBits<uint16_t, 16, 0>(0xdead, absl::Span<char>(buffer));
EXPECT_EQ((std::array<char, 3>{
{static_cast<char>(0xad), static_cast<char>(0xde), 0}}),
buffer);
}
{
std::array<char, 3> buffer{};
- PackBits<uint8_t, 4, 0>(0xd7, buffer);
+ PackBits<uint8_t, 4, 0>(0xd7, absl::Span<char>(buffer));
EXPECT_EQ((std::array<char, 3>{{0x7, 0, 0}}), buffer);
}
{
std::array<char, 3> buffer{};
- PackBits<uint8_t, 4, 4>(0xd7, buffer);
+ PackBits<uint8_t, 4, 4>(0xd7, absl::Span<char>(buffer));
EXPECT_EQ((std::array<char, 3>{{0x70, 0, 0}}), buffer);
}
}
@@ -62,30 +62,30 @@
TEST(PackBitsTest, Consistency) {
{
std::array<char, 3> buffer1{};
- PackBits<uint8_t, 8, 0>(0x80, buffer1);
+ PackBits<uint8_t, 8, 0>(0x80, absl::Span<char>(buffer1));
std::array<char, 3> buffer2{};
- PackBits<uint8_t, 1, 7>(0x1, buffer2);
+ PackBits<uint8_t, 1, 7>(0x1, absl::Span<char>(buffer2));
EXPECT_EQ(buffer1, buffer2);
}
{
std::array<char, 1> buffer1{{static_cast<char>(0xFF)}};
- PackBits<uint8_t, 8, 0>(0x7F, buffer1);
+ PackBits<uint8_t, 8, 0>(0x7F, absl::Span<char>(buffer1));
std::array<char, 1> buffer2{{static_cast<char>(0xFF)}};
- PackBits<uint8_t, 1, 7>(0x0, buffer2);
+ PackBits<uint8_t, 1, 7>(0x0, absl::Span<char>(buffer2));
EXPECT_EQ(buffer1, buffer2);
}
{
std::array<char, 1> buffer1{};
- PackBits<uint8_t, 3, 5>(0x7, buffer1);
+ PackBits<uint8_t, 3, 5>(0x7, absl::Span<char>(buffer1));
std::array<char, 1> buffer2{};
- PackBits<uint8_t, 5, 3>(0x3C, buffer2);
+ PackBits<uint8_t, 5, 3>(0x3C, absl::Span<char>(buffer2));
EXPECT_EQ(buffer1, buffer2);
}
{
std::array<char, 1> buffer1{{static_cast<char>(0xFF)}};
- PackBits<uint8_t, 3, 5>(0x0, buffer1);
+ PackBits<uint8_t, 3, 5>(0x0, absl::Span<char>(buffer1));
std::array<char, 1> buffer2{{static_cast<char>(0xFF)}};
- PackBits<uint8_t, 5, 3>(0x03, buffer2);
+ PackBits<uint8_t, 5, 3>(0x03, absl::Span<char>(buffer2));
EXPECT_EQ(buffer1, buffer2);
}
}
@@ -124,49 +124,49 @@
TEST(PackBitsTest, AcrossBytes) {
{
std::array<char, 2> buffer{};
- PackBits<uint8_t, 8, 7>(0xFF, buffer);
+ PackBits<uint8_t, 8, 7>(0xFF, absl::Span<char>(buffer));
EXPECT_EQ((std::array<char, 2>{
{static_cast<char>(0x80), static_cast<char>(0x7F)}}),
buffer);
}
{
std::array<char, 2> buffer{};
- PackBits<uint8_t, 8, 6>(0xFF, buffer);
+ PackBits<uint8_t, 8, 6>(0xFF, absl::Span<char>(buffer));
EXPECT_EQ((std::array<char, 2>{
{static_cast<char>(0xC0), static_cast<char>(0x3F)}}),
buffer);
}
{
std::array<char, 2> buffer{};
- PackBits<uint8_t, 8, 5>(0xFF, buffer);
+ PackBits<uint8_t, 8, 5>(0xFF, absl::Span<char>(buffer));
EXPECT_EQ((std::array<char, 2>{
{static_cast<char>(0xE0), static_cast<char>(0x1F)}}),
buffer);
}
{
std::array<char, 2> buffer{};
- PackBits<uint8_t, 8, 4>(0xFF, buffer);
+ PackBits<uint8_t, 8, 4>(0xFF, absl::Span<char>(buffer));
EXPECT_EQ((std::array<char, 2>{
{static_cast<char>(0xF0), static_cast<char>(0x0F)}}),
buffer);
}
{
std::array<char, 2> buffer{};
- PackBits<uint8_t, 8, 3>(0xFF, buffer);
+ PackBits<uint8_t, 8, 3>(0xFF, absl::Span<char>(buffer));
EXPECT_EQ((std::array<char, 2>{
{static_cast<char>(0xF8), static_cast<char>(0x07)}}),
buffer);
}
{
std::array<char, 2> buffer{};
- PackBits<uint8_t, 8, 2>(0xFF, buffer);
+ PackBits<uint8_t, 8, 2>(0xFF, absl::Span<char>(buffer));
EXPECT_EQ((std::array<char, 2>{
{static_cast<char>(0xFC), static_cast<char>(0x03)}}),
buffer);
}
{
std::array<char, 2> buffer{};
- PackBits<uint8_t, 8, 1>(0xFF, buffer);
+ PackBits<uint8_t, 8, 1>(0xFF, absl::Span<char>(buffer));
EXPECT_EQ((std::array<char, 2>{
{static_cast<char>(0xFE), static_cast<char>(0x01)}}),
buffer);
@@ -217,7 +217,7 @@
{
std::array<char, 2> buffer{
{static_cast<char>(0xFF), static_cast<char>(0xFF)}};
- PackBits<uint8_t, 1, 0>(0, buffer);
+ PackBits<uint8_t, 1, 0>(0, absl::Span<char>(buffer));
EXPECT_EQ((std::array<char, 2>{
{static_cast<char>(0xFE), static_cast<char>(0xFF)}}),
buffer);
@@ -225,7 +225,7 @@
{
std::array<char, 2> buffer{
{static_cast<char>(0xFF), static_cast<char>(0xFF)}};
- PackBits<uint8_t, 7, 0>(0, buffer);
+ PackBits<uint8_t, 7, 0>(0, absl::Span<char>(buffer));
EXPECT_EQ((std::array<char, 2>{
{static_cast<char>(0x80), static_cast<char>(0xFF)}}),
buffer);
@@ -233,7 +233,7 @@
{
std::array<char, 2> buffer{
{static_cast<char>(0xFF), static_cast<char>(0xFF)}};
- PackBits<uint8_t, 8, 0>(0, buffer);
+ PackBits<uint8_t, 8, 0>(0, absl::Span<char>(buffer));
EXPECT_EQ((std::array<char, 2>{
{static_cast<char>(0x00), static_cast<char>(0xFF)}}),
buffer);
@@ -241,7 +241,7 @@
{
std::array<char, 2> buffer{
{static_cast<char>(0xFF), static_cast<char>(0xFF)}};
- PackBits<uint16_t, 9, 0>(0, buffer);
+ PackBits<uint16_t, 9, 0>(0, absl::Span<char>(buffer));
EXPECT_EQ((std::array<char, 2>{
{static_cast<char>(0x00), static_cast<char>(0xFE)}}),
buffer);
@@ -249,7 +249,7 @@
{
std::array<char, 2> buffer{
{static_cast<char>(0xFF), static_cast<char>(0xFF)}};
- PackBits<uint16_t, 14, 0>(0, buffer);
+ PackBits<uint16_t, 14, 0>(0, absl::Span<char>(buffer));
EXPECT_EQ((std::array<char, 2>{
{static_cast<char>(0x00), static_cast<char>(0xC0)}}),
buffer);
@@ -257,7 +257,7 @@
{
std::array<char, 2> buffer{
{static_cast<char>(0xFF), static_cast<char>(0xFF)}};
- PackBits<uint16_t, 15, 0>(0, buffer);
+ PackBits<uint16_t, 15, 0>(0, absl::Span<char>(buffer));
EXPECT_EQ((std::array<char, 2>{
{static_cast<char>(0x00), static_cast<char>(0x80)}}),
buffer);
@@ -265,7 +265,7 @@
{
std::array<char, 2> buffer{
{static_cast<char>(0xFF), static_cast<char>(0xFF)}};
- PackBits<uint16_t, 15, 1>(0, buffer);
+ PackBits<uint16_t, 15, 1>(0, absl::Span<char>(buffer));
EXPECT_EQ((std::array<char, 2>{
{static_cast<char>(0x01), static_cast<char>(0x00)}}),
buffer);
@@ -273,7 +273,7 @@
{
std::array<char, 2> buffer{
{static_cast<char>(0xFF), static_cast<char>(0xFF)}};
- PackBits<uint16_t, 6, 8>(0, buffer);
+ PackBits<uint16_t, 6, 8>(0, absl::Span<char>(buffer));
EXPECT_EQ((std::array<char, 2>{
{static_cast<char>(0xFF), static_cast<char>(0xC0)}}),
buffer);
@@ -282,7 +282,7 @@
std::array<char, 4> buffer{
{static_cast<char>(0xFF), static_cast<char>(0xFF),
static_cast<char>(0xFF), static_cast<char>(0xFF)}};
- PackBits<uint16_t, 6, 24>(0, buffer);
+ PackBits<uint16_t, 6, 24>(0, absl::Span<char>(buffer));
EXPECT_EQ((std::array<char, 4>{
{static_cast<char>(0xFF), static_cast<char>(0xFF),
static_cast<char>(0xFF), static_cast<char>(0xC0)}}),