2020-12-26 14:12:05 -08:00
|
|
|
// Copyright (c) FIRST and other WPILib contributors.
|
|
|
|
|
// Open Source Software; you can modify and/or share it under the terms of
|
|
|
|
|
// the WPILib BSD license file in the root directory of this project.
|
2019-08-25 23:55:59 -04:00
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
2022-10-15 16:33:14 -07:00
|
|
|
#include <span>
|
|
|
|
|
|
2019-08-25 23:55:59 -04:00
|
|
|
#include <wpi/SmallVector.h>
|
|
|
|
|
|
|
|
|
|
namespace frc2 {
|
|
|
|
|
template <typename T>
|
2022-10-15 16:33:14 -07:00
|
|
|
void SetInsert(wpi::SmallVectorImpl<T*>& vector, std::span<T* const> toAdd) {
|
2019-08-25 23:55:59 -04:00
|
|
|
for (auto addCommand : toAdd) {
|
|
|
|
|
bool exists = false;
|
|
|
|
|
for (auto existingCommand : vector) {
|
|
|
|
|
if (addCommand == existingCommand) {
|
|
|
|
|
exists = true;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (!exists) {
|
|
|
|
|
vector.emplace_back(addCommand);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} // namespace frc2
|