Replace aos::SizedArray with absl::InlinedVector

Change-Id: I4dae096c5079afa3135e3a1cb7cb17e2789275e6
Signed-off-by: Tyler Chatow <tchatow@gmail.com>
diff --git a/y2019/jevois/cobs.h b/y2019/jevois/cobs.h
index 979cc15..c429622 100644
--- a/y2019/jevois/cobs.h
+++ b/y2019/jevois/cobs.h
@@ -23,9 +23,8 @@
 // output_buffer is where to store the result.
 // Returns a span in output_buffer which has no 0 bytes.
 template <size_t max_decoded_size>
-absl::Span<char> CobsEncode(
-    absl::Span<const char> input,
-    std::array<char, CobsMaxEncodedSize(max_decoded_size)> *output_buffer);
+absl::Span<char> CobsEncode(absl::Span<const char> input,
+                            absl::Span<char> output_buffer);
 
 // Decodes some COBS-encoded data.
 // input is the data to decide. Its size may be at most
@@ -90,20 +89,19 @@
 };
 
 template <size_t max_decoded_size>
-absl::Span<char> CobsEncode(
-    absl::Span<const char> input,
-    std::array<char, CobsMaxEncodedSize(max_decoded_size)> *output_buffer) {
+absl::Span<char> CobsEncode(absl::Span<const char> input,
+                            absl::Span<char> output_buffer) {
   static_assert(max_decoded_size > 0, "Empty buffers not supported");
   if (static_cast<size_t>(input.size()) > max_decoded_size) {
     __builtin_trap();
   }
   auto input_pointer = input.begin();
-  auto output_pointer = output_buffer->begin();
+  auto output_pointer = output_buffer.begin();
   auto code_pointer = output_pointer;
   ++output_pointer;
   uint8_t code = 1;
   while (input_pointer < input.end()) {
-    if (output_pointer >= output_buffer->end()) {
+    if (output_pointer >= output_buffer.end()) {
       __builtin_trap();
     }
     if (*input_pointer == 0u) {
@@ -125,11 +123,11 @@
     ++input_pointer;
   }
   *code_pointer = code;
-  if (output_pointer > output_buffer->end()) {
+  if (output_pointer > output_buffer.end()) {
     __builtin_trap();
   }
-  return absl::Span<char>(*output_buffer)
-      .subspan(0, output_pointer - output_buffer->begin());
+  return absl::Span<char>(output_buffer)
+      .subspan(0, output_pointer - output_buffer.begin());
 }
 
 template <size_t max_decoded_size>
diff --git a/y2019/jevois/cobs_test.cc b/y2019/jevois/cobs_test.cc
index fd312f0..fa4742f 100644
--- a/y2019/jevois/cobs_test.cc
+++ b/y2019/jevois/cobs_test.cc
@@ -32,8 +32,8 @@
   template <size_t max_decoded_size>
   void EncodeAndDecode(const absl::Span<const char> decoded_input) {
     std::array<char, CobsMaxEncodedSize(max_decoded_size)> encoded_buffer;
-    const auto encoded =
-        CobsEncode<max_decoded_size>(decoded_input, &encoded_buffer);
+    const auto encoded = CobsEncode<max_decoded_size>(
+        decoded_input, absl::Span<char>(encoded_buffer));
     ASSERT_LE(encoded.size(), encoded_buffer.size());
     ASSERT_EQ(encoded.data(), &encoded_buffer.front());
 
diff --git a/y2019/jevois/serial.cc b/y2019/jevois/serial.cc
index 5febbb4..cd0bb99 100644
--- a/y2019/jevois/serial.cc
+++ b/y2019/jevois/serial.cc
@@ -1,13 +1,13 @@
 #include "y2019/jevois/serial.h"
 
-#include "aos/logging/logging.h"
-
 #include <fcntl.h>
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <termios.h>
 #include <unistd.h>
 
+#include "aos/logging/logging.h"
+
 namespace y2019 {
 namespace jevois {
 
@@ -33,7 +33,7 @@
                        | IGNCR            // ignore CR
                        | ICRNL            // translate CR to newline on input
                        | IXON  // disable XON/XOFF flow control on output
-                       );
+  );
 
   // disable implementation-defined output processing
   options.c_oflag &= ~OPOST;
@@ -42,7 +42,7 @@
                        | ICANON  // disable cannonical mode
                        | ISIG    // do not signal for INTR, QUIT, SUSP etc
                        | IEXTEN  // disable platform dependent i/p processing
-                       );
+  );
 
   cfsetispeed(&options, B115200);
   cfsetospeed(&options, B115200);
diff --git a/y2019/jevois/serial.h b/y2019/jevois/serial.h
index 9dd4b0c..14e2f98 100644
--- a/y2019/jevois/serial.h
+++ b/y2019/jevois/serial.h
@@ -7,6 +7,6 @@
 int open_via_terminos(const char *tty_name);
 
 }  // namespace jevois
-}  // namespace frc971
+}  // namespace y2019
 
 #endif  // Y2019_JEVOIS_SERIAL_H_
diff --git a/y2019/jevois/uart.cc b/y2019/jevois/uart.cc
index 2857bd6..9cded62 100644
--- a/y2019/jevois/uart.cc
+++ b/y2019/jevois/uart.cc
@@ -49,8 +49,9 @@
   }
   AOS_CHECK(remaining_space.empty());
   UartToTeensyBuffer result;
-  result.set_size(
-      CobsEncode<uart_to_teensy_size()>(buffer, result.mutable_backing_array())
+  result.resize(result.capacity());
+  result.resize(
+      CobsEncode<uart_to_teensy_size()>(buffer, absl::Span<char>(result))
           .size());
   return result;
 }
@@ -137,8 +138,9 @@
   }
   AOS_CHECK(remaining_space.empty());
   UartToCameraBuffer result;
-  result.set_size(
-      CobsEncode<uart_to_camera_size()>(buffer, result.mutable_backing_array())
+  result.resize(result.capacity());
+  result.resize(
+      CobsEncode<uart_to_camera_size()>(buffer, absl::Span<char>(result))
           .size());
   return result;
 }
diff --git a/y2019/jevois/uart_test.cc b/y2019/jevois/uart_test.cc
index ff02f08..5a3a330 100644
--- a/y2019/jevois/uart_test.cc
+++ b/y2019/jevois/uart_test.cc
@@ -88,7 +88,7 @@
   }
   {
     UartToTeensyBuffer buffer = UartPackToTeensy(input_message);
-    buffer.set_size(buffer.size() - 1);
+    buffer.resize(buffer.size() - 1);
     EXPECT_FALSE(UartUnpackToTeensy(buffer));
   }
   {
@@ -113,7 +113,7 @@
   }
   {
     UartToCameraBuffer buffer = UartPackToCamera(input_message);
-    buffer.set_size(buffer.size() - 1);
+    buffer.resize(buffer.size() - 1);
     EXPECT_FALSE(UartUnpackToCamera(buffer));
   }
   {
diff --git a/y2019/vision/target_sender.cc b/y2019/vision/target_sender.cc
index 4aa4b54..650693c 100644
--- a/y2019/vision/target_sender.cc
+++ b/y2019/vision/target_sender.cc
@@ -1,5 +1,3 @@
-#include "y2019/vision/target_finder.h"
-
 #include <condition_variable>
 #include <fstream>
 #include <mutex>
@@ -16,19 +14,20 @@
 #include "y2019/jevois/structures.h"
 #include "y2019/jevois/uart.h"
 #include "y2019/vision/image_writer.h"
+#include "y2019/vision/target_finder.h"
 
 // This has to be last to preserve compatibility with other headers using AOS
 // logging.
 #include "glog/logging.h"
 
+using ::aos::monotonic_clock;
 using ::aos::events::DataSocket;
 using ::aos::events::RXUdpSocket;
 using ::aos::events::TCPServer;
 using ::aos::vision::DataRef;
 using ::aos::vision::Int32Codec;
-using ::aos::monotonic_clock;
-using ::y2019::jevois::open_via_terminos;
 using aos::vision::Segment;
+using ::y2019::jevois::open_via_terminos;
 
 class CameraStream : public ::y2019::camera::ImageStreamEvent {
  public:
@@ -41,8 +40,9 @@
     if (on_frame_) on_frame_(data, monotonic_now);
   }
 
-  void set_on_frame(const std::function<
-                    void(DataRef, monotonic_clock::time_point)> &on_frame) {
+  void set_on_frame(
+      const std::function<void(DataRef, monotonic_clock::time_point)>
+          &on_frame) {
     on_frame_ = on_frame;
   }
 
@@ -67,12 +67,12 @@
   exit(-1);
 }
 
+using aos::vision::ImageFormat;
 using aos::vision::ImageRange;
 using aos::vision::RangeImage;
-using aos::vision::ImageFormat;
-using y2019::vision::TargetFinder;
 using y2019::vision::IntermediateResult;
 using y2019::vision::Target;
+using y2019::vision::TargetFinder;
 
 class TargetProcessPool {
  public:
@@ -271,7 +271,7 @@
 
     frc971::jevois::CameraFrame frame{};
 
-    for (size_t i = 0; i < results.size() && i < frame.targets.max_size();
+    for (size_t i = 0; i < results.size() && i < frame.targets.capacity();
          ++i) {
       const auto &result = results[i].extrinsics;
       frame.targets.push_back(frc971::jevois::Target{