mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-23 01:21:42 +00:00
Upgrade to C++20 (#4239)
* Use explicit this capture required by C++20 * Use C++20 span * Replace wpi::numbers with std::numbers * Fix C++20 clang-tidy warning false positive in fmt * Remove ciso646 include since C++20 removed that header * Fix global-buffer-overflow asan warnings in ntcore tests * Add DIOSetProxy constructor to HAL * Upgrade MSVC compiler to 2022 * Bump native-utils to 2023.2.7 (changes to std=c++20) Co-authored-by: Peter Johnson <johnson.peter@gmail.com>
This commit is contained in:
@@ -74,7 +74,7 @@ static std::vector<int> FromJavaBooleanArray(JNIEnv* env, jbooleanArray jarr) {
|
||||
if (!ref) {
|
||||
return {};
|
||||
}
|
||||
wpi::span<const jboolean> elements{ref};
|
||||
std::span<const jboolean> elements{ref};
|
||||
size_t len = elements.size();
|
||||
std::vector<int> arr;
|
||||
arr.reserve(len);
|
||||
@@ -118,7 +118,7 @@ static jobject MakeJObject(JNIEnv* env, nt::Timestamped{{ t.TypeName }} value) {
|
||||
{% endfor %}
|
||||
{%- for t in types %}
|
||||
static jobjectArray MakeJObject(JNIEnv* env,
|
||||
wpi::span<const nt::Timestamped{{ t.TypeName }}> arr) {
|
||||
std::span<const nt::Timestamped{{ t.TypeName }}> arr) {
|
||||
jobjectArray jarr =
|
||||
env->NewObjectArray(arr.size(), timestamped{{ t.TypeName }}Cls, nullptr);
|
||||
if (!jarr) {
|
||||
@@ -133,7 +133,7 @@ static jobjectArray MakeJObject(JNIEnv* env,
|
||||
{% endfor %}
|
||||
{%- for t in types %}
|
||||
{%- if t.jni.ToJavaArray == "MakeJObjectArray" %}
|
||||
static jobjectArray MakeJObjectArray(JNIEnv* env, wpi::span<const {{ t.cpp.ValueType }}> arr) {
|
||||
static jobjectArray MakeJObjectArray(JNIEnv* env, std::span<const {{ t.cpp.ValueType }}> arr) {
|
||||
jobjectArray jarr =
|
||||
env->NewObjectArray(arr.size(), {{ t.jni.jtype }}Cls, nullptr);
|
||||
if (!jarr) {
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
using namespace nt;
|
||||
|
||||
template <typename T>
|
||||
static inline wpi::span<const T> ConvertFromC(const T* arr, size_t size) {
|
||||
static inline std::span<const T> ConvertFromC(const T* arr, size_t size) {
|
||||
return {arr, size};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user