Use wpi::span instead of wpi::ArrayRef across all libraries (#3414)

- Remove ArrayRef.h
- Add SpanExtras.h for a couple of convenience functions
This commit is contained in:
Peter Johnson
2021-06-06 19:51:14 -07:00
committed by GitHub
parent 2abbbd9e70
commit 64f5413253
167 changed files with 974 additions and 1433 deletions

View File

@@ -257,7 +257,7 @@ Java_edu_wpi_first_hal_simulation_AddressableLEDDataJNI_getData
std::make_unique<HAL_AddressableLEDData[]>(HAL_kAddressableLEDMaxLength);
int32_t length = HALSIM_GetAddressableLEDData(index, data.get());
return MakeJByteArray(
env, wpi::ArrayRef(reinterpret_cast<jbyte*>(data.get()), length * 4));
env, wpi::span(reinterpret_cast<jbyte*>(data.get()), length * 4));
}
/*

View File

@@ -668,7 +668,7 @@ Java_edu_wpi_first_hal_simulation_SimDeviceDataJNI_getSimValueEnumDoubleValues
{
int32_t numElems = 0;
const double* elems = HALSIM_GetSimValueEnumDoubleValues(handle, &numElems);
return MakeJDoubleArray(env, wpi::makeArrayRef(elems, numElems));
return MakeJDoubleArray(env, wpi::span(elems, numElems));
}
/*

View File

@@ -59,7 +59,7 @@ int32_t SpiReadAutoReceiveBufferCallbackStore::performCallback(
}
auto toCallbackArr = MakeJIntArray(
env, wpi::ArrayRef<uint32_t>{buffer, static_cast<size_t>(numToRead)});
env, wpi::span<const uint32_t>{buffer, static_cast<size_t>(numToRead)});
jint ret = env->CallIntMethod(m_call, sim::GetBufferCallback(),
MakeJString(env, name), toCallbackArr,

View File

@@ -9,7 +9,7 @@
#ifdef __cplusplus
#include <initializer_list>
#include <wpi/ArrayRef.h>
#include <wpi/span.h>
#endif
#include "hal/Types.h"
@@ -832,7 +832,8 @@ class SimDevice {
* @return simulated enum value object
*/
SimEnum CreateEnum(const char* name, int32_t direction,
wpi::ArrayRef<const char*> options, int32_t initialValue) {
wpi::span<const char* const> options,
int32_t initialValue) {
return HAL_CreateSimValueEnum(m_handle, name, direction, options.size(),
const_cast<const char**>(options.data()),
initialValue);
@@ -884,8 +885,8 @@ class SimDevice {
* @return simulated enum value object
*/
SimEnum CreateEnumDouble(const char* name, int32_t direction,
wpi::ArrayRef<const char*> options,
wpi::ArrayRef<double> optionValues,
wpi::span<const char* const> options,
wpi::span<const double> optionValues,
int32_t initialValue) {
if (options.size() != optionValues.size()) {
return {};