Nest all namespaces

The compiler supports this now.  We can type less going forward.
No functional changes.

Signed-off-by: Stephan Pleines <pleines.stephan@gmail.com>
Change-Id: I29d6fa4f9aacc0e381f1a7637294db0392466995
diff --git a/frc971/vision/calibration_accumulator.cc b/frc971/vision/calibration_accumulator.cc
index 3b0bcc6..d8abd33 100644
--- a/frc971/vision/calibration_accumulator.cc
+++ b/frc971/vision/calibration_accumulator.cc
@@ -21,8 +21,7 @@
 DEFINE_bool(save_valid_only, false,
             "If true, only save images with valid pose estimates");
 
-namespace frc971 {
-namespace vision {
+namespace frc971::vision {
 using aos::distributed_clock;
 using aos::monotonic_clock;
 namespace chrono = std::chrono;
@@ -278,5 +277,4 @@
                 gyro, accel * kG);
 }
 
-}  // namespace vision
-}  // namespace frc971
+}  // namespace frc971::vision
diff --git a/frc971/vision/charuco_lib.cc b/frc971/vision/charuco_lib.cc
index 8e8acc3..c24d02c 100644
--- a/frc971/vision/charuco_lib.cc
+++ b/frc971/vision/charuco_lib.cc
@@ -38,8 +38,7 @@
 
 DECLARE_bool(enable_ftrace);
 
-namespace frc971 {
-namespace vision {
+namespace frc971::vision {
 namespace chrono = std::chrono;
 using aos::monotonic_clock;
 
@@ -600,5 +599,4 @@
   return os;
 }
 
-}  // namespace vision
-}  // namespace frc971
+}  // namespace frc971::vision
diff --git a/frc971/vision/extrinsics_calibration.cc b/frc971/vision/extrinsics_calibration.cc
index 9459c84..6017258 100644
--- a/frc971/vision/extrinsics_calibration.cc
+++ b/frc971/vision/extrinsics_calibration.cc
@@ -14,8 +14,7 @@
 #include "frc971/vision/charuco_lib.h"
 #include "frc971/vision/visualize_robot.h"
 
-namespace frc971 {
-namespace vision {
+namespace frc971::vision {
 
 namespace chrono = std::chrono;
 using aos::distributed_clock;
@@ -1008,5 +1007,4 @@
   filter.Visualize(calibration_parameters);
 }
 
-}  // namespace vision
-}  // namespace frc971
+}  // namespace frc971::vision
diff --git a/frc971/vision/intrinsics_calibration.cc b/frc971/vision/intrinsics_calibration.cc
index 452dd74..b4d3825 100644
--- a/frc971/vision/intrinsics_calibration.cc
+++ b/frc971/vision/intrinsics_calibration.cc
@@ -23,8 +23,7 @@
               "Intrinsics to use for estimating board pose prior to solving "
               "for the new intrinsics.");
 
-namespace frc971 {
-namespace vision {
+namespace frc971::vision {
 namespace {
 
 void Main() {
@@ -52,8 +51,7 @@
 }
 
 }  // namespace
-}  // namespace vision
-}  // namespace frc971
+}  // namespace frc971::vision
 
 int main(int argc, char **argv) {
   aos::InitGoogle(&argc, &argv);
diff --git a/frc971/vision/intrinsics_calibration_lib.cc b/frc971/vision/intrinsics_calibration_lib.cc
index 6cf53e8..ab03e01 100644
--- a/frc971/vision/intrinsics_calibration_lib.cc
+++ b/frc971/vision/intrinsics_calibration_lib.cc
@@ -1,7 +1,6 @@
 #include "frc971/vision/intrinsics_calibration_lib.h"
 
-namespace frc971 {
-namespace vision {
+namespace frc971::vision {
 
 IntrinsicsCalibration::IntrinsicsCalibration(
     aos::EventLoop *event_loop, std::string_view pi, std::string_view camera_id,
@@ -241,5 +240,4 @@
     LOG(INFO) << "Skipping calibration due to not enough images.";
   }
 }
-}  // namespace vision
-}  // namespace frc971
+}  // namespace frc971::vision
diff --git a/frc971/vision/media_device.cc b/frc971/vision/media_device.cc
index a369cfb..46f3419 100644
--- a/frc971/vision/media_device.cc
+++ b/frc971/vision/media_device.cc
@@ -20,8 +20,7 @@
 #include "aos/scoped/scoped_fd.h"
 #include "aos/util/file.h"
 
-namespace frc971 {
-namespace vision {
+namespace frc971::vision {
 
 void Entity::Log() const {
   LOG(INFO) << "  { \"id\": " << id() << ",";
@@ -408,5 +407,4 @@
   }
 }
 
-}  // namespace vision
-}  // namespace frc971
+}  // namespace frc971::vision
diff --git a/frc971/vision/v4l2_reader.cc b/frc971/vision/v4l2_reader.cc
index 1404ec5..2d67c9c 100644
--- a/frc971/vision/v4l2_reader.cc
+++ b/frc971/vision/v4l2_reader.cc
@@ -9,8 +9,7 @@
 DEFINE_bool(ignore_timestamps, false,
             "Don't require timestamps on images.  Used to allow webcams");
 
-namespace frc971 {
-namespace vision {
+namespace frc971::vision {
 
 V4L2ReaderBase::V4L2ReaderBase(aos::EventLoop *event_loop,
                                std::string_view device_name,
@@ -401,5 +400,4 @@
   PCHECK(ImageSensorIoctl(VIDIOC_S_EXT_CTRLS, &controls) == 0);
 }
 
-}  // namespace vision
-}  // namespace frc971
+}  // namespace frc971::vision
diff --git a/frc971/vision/visualize_robot.cc b/frc971/vision/visualize_robot.cc
index 0c7a536..d13668e 100644
--- a/frc971/vision/visualize_robot.cc
+++ b/frc971/vision/visualize_robot.cc
@@ -6,8 +6,7 @@
 #include <opencv2/highgui/highgui.hpp>
 #include <opencv2/imgproc.hpp>
 
-namespace frc971 {
-namespace vision {
+namespace frc971::vision {
 
 void VisualizeRobot::SetDefaultViewpoint(int image_width, double focal_length) {
   // 10 meters above the origin, rotated so the camera faces straight down
@@ -106,5 +105,4 @@
   DrawLine(rr_corner, fr_corner, color);
 }
 
-}  // namespace vision
-}  // namespace frc971
+}  // namespace frc971::vision
diff --git a/frc971/vision/visualize_robot_sample.cc b/frc971/vision/visualize_robot_sample.cc
index 6ca7a9c..ad1d6b6 100644
--- a/frc971/vision/visualize_robot_sample.cc
+++ b/frc971/vision/visualize_robot_sample.cc
@@ -14,8 +14,7 @@
 #include "aos/time/time.h"
 #include "frc971/vision/visualize_robot.h"
 
-namespace frc971 {
-namespace vision {
+namespace frc971::vision {
 
 // Show / test the basics of visualizing the robot frames
 void Main(int /*argc*/, char ** /* argv */) {
@@ -45,8 +44,7 @@
   cv::imshow("Display", image_mat);
   cv::waitKey();
 }
-}  // namespace vision
-}  // namespace frc971
+}  // namespace frc971::vision
 
 int main(int argc, char **argv) {
   aos::InitGoogle(&argc, &argv);