Dedulicate make_unique
This also gets us off of the WPILib one which goes away for 2019.
Change-Id: I0436ce8fd477bbb27d9b0a7c4832dad01c9bad35
diff --git a/y2016/BUILD b/y2016/BUILD
index 0e72985..92f0c86 100644
--- a/y2016/BUILD
+++ b/y2016/BUILD
@@ -1,4 +1,4 @@
-load('//frc971:downloader.bzl', 'robot_downloader')
+load("//frc971:downloader.bzl", "robot_downloader")
cc_library(
name = "constants",
@@ -11,8 +11,8 @@
visibility = ["//visibility:public"],
deps = [
"//aos:once",
- "//aos/mutex:mutex",
"//aos/logging",
+ "//aos/mutex",
"//aos/network:team_number",
"//frc971:constants",
"//frc971:shifter_hall_effect",
@@ -28,12 +28,12 @@
],
deps = [
":constants",
- "//aos/time:time",
- "//aos/actions:action_lib",
- "//aos/logging",
- "//aos/util:log_interval",
- "//aos/input:joystick_input",
"//aos:init",
+ "//aos/actions:action_lib",
+ "//aos/input:joystick_input",
+ "//aos/logging",
+ "//aos/time",
+ "//aos/util:log_interval",
"//frc971/autonomous:auto_queue",
"//frc971/control_loops/drivetrain:drivetrain_queue",
"//frc971/queues:gyro",
@@ -48,21 +48,21 @@
)
robot_downloader(
- start_binaries = [
- ':joystick_reader',
- ':wpilib_interface',
- '//y2016/control_loops/drivetrain:drivetrain',
- '//y2016/control_loops/superstructure:superstructure',
- '//y2016/control_loops/shooter:shooter',
- '//y2016/dashboard:dashboard',
- '//y2016/actors:autonomous_action',
- '//y2016/actors:superstructure_action',
- '//y2016/actors:vision_align_action',
- '//y2016/vision:target_receiver',
- ],
- dirs = [
- '//y2016/dashboard:www_files',
- ],
+ dirs = [
+ "//y2016/dashboard:www_files",
+ ],
+ start_binaries = [
+ ":joystick_reader",
+ ":wpilib_interface",
+ "//y2016/control_loops/drivetrain:drivetrain",
+ "//y2016/control_loops/superstructure:superstructure",
+ "//y2016/control_loops/shooter:shooter",
+ "//y2016/dashboard:dashboard",
+ "//y2016/actors:autonomous_action",
+ "//y2016/actors:superstructure_action",
+ "//y2016/actors:vision_align_action",
+ "//y2016/vision:target_receiver",
+ ],
)
cc_binary(
@@ -73,17 +73,18 @@
restricted_to = ["//tools:roborio"],
deps = [
":constants",
+ "//aos:init",
+ "//aos:make_unique",
"//aos:math",
- "//aos/stl_mutex:stl_mutex",
- "//aos/time:time",
"//aos/controls:control_loop",
"//aos/logging",
"//aos/logging:queue_logging",
- "//aos/robot_state:robot_state",
+ "//aos/robot_state",
+ "//aos/stl_mutex",
+ "//aos/time",
"//aos/util:log_interval",
"//aos/util:phased_loop",
"//aos/util:wrapping_counter",
- "//aos:init",
"//frc971/autonomous:auto_queue",
"//frc971/control_loops:queues",
"//frc971/control_loops/drivetrain:drivetrain_queue",
diff --git a/y2016/wpilib_interface.cc b/y2016/wpilib_interface.cc
index 320dd73..a4ea3e8 100644
--- a/y2016/wpilib_interface.cc
+++ b/y2016/wpilib_interface.cc
@@ -19,16 +19,17 @@
#include "frc971/wpilib/wpilib_robot_base.h"
#undef ERROR
+#include "aos/commonmath.h"
+#include "aos/init.h"
#include "aos/logging/logging.h"
#include "aos/logging/queue_logging.h"
+#include "aos/make_unique.h"
+#include "aos/robot_state/robot_state.q.h"
+#include "aos/stl_mutex/stl_mutex.h"
#include "aos/time/time.h"
#include "aos/util/log_interval.h"
#include "aos/util/phased_loop.h"
#include "aos/util/wrapping_counter.h"
-#include "aos/stl_mutex/stl_mutex.h"
-#include "aos/init.h"
-#include "aos/robot_state/robot_state.q.h"
-#include "aos/commonmath.h"
#include "frc971/autonomous/auto.q.h"
#include "frc971/control_loops/control_loops.q.h"
@@ -62,6 +63,7 @@
using ::y2016::control_loops::shooter::shooter_queue;
using ::y2016::control_loops::superstructure_queue;
using namespace frc;
+using aos::make_unique;
namespace y2016 {
namespace wpilib {
@@ -73,13 +75,6 @@
// DMA stuff and then removing the * 2.0 in *_translate.
// The low bit is direction.
-// TODO(brian): Replace this with ::std::make_unique once all our toolchains
-// have support.
-template <class T, class... U>
-std::unique_ptr<T> make_unique(U &&... u) {
- return std::unique_ptr<T>(new T(std::forward<U>(u)...));
-}
-
// Translates for the sensor values to convert raw index pulses into something
// with proper units.