mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-25 01:41:43 +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:
@@ -12,7 +12,7 @@ class HttpWebSocketServerConnectionTest
|
||||
: public HttpWebSocketServerConnection<HttpWebSocketServerConnectionTest> {
|
||||
public:
|
||||
HttpWebSocketServerConnectionTest(std::shared_ptr<uv::Stream> stream,
|
||||
span<const std::string_view> protocols)
|
||||
std::span<const std::string_view> protocols)
|
||||
: HttpWebSocketServerConnection{stream, protocols} {}
|
||||
|
||||
void ProcessRequest() override { ++gotRequest; }
|
||||
|
||||
@@ -47,9 +47,8 @@ std::vector<uint8_t> WebSocketTest::BuildHeader(uint8_t opcode, bool fin,
|
||||
return data;
|
||||
}
|
||||
|
||||
std::vector<uint8_t> WebSocketTest::BuildMessage(uint8_t opcode, bool fin,
|
||||
bool masking,
|
||||
span<const uint8_t> data) {
|
||||
std::vector<uint8_t> WebSocketTest::BuildMessage(
|
||||
uint8_t opcode, bool fin, bool masking, std::span<const uint8_t> data) {
|
||||
auto finalData = BuildHeader(opcode, fin, masking, data.size());
|
||||
size_t headerSize = finalData.size();
|
||||
finalData.insert(finalData.end(), data.begin(), data.end());
|
||||
@@ -69,7 +68,7 @@ std::vector<uint8_t> WebSocketTest::BuildMessage(uint8_t opcode, bool fin,
|
||||
|
||||
// If the message is masked, changes the mask to match the mask set by
|
||||
// BuildHeader() by unmasking and remasking.
|
||||
void WebSocketTest::AdjustMasking(span<uint8_t> message) {
|
||||
void WebSocketTest::AdjustMasking(std::span<uint8_t> message) {
|
||||
if (message.size() < 2) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -6,10 +6,9 @@
|
||||
|
||||
#include <cstdio>
|
||||
#include <memory>
|
||||
#include <span>
|
||||
#include <vector>
|
||||
|
||||
#include <wpi/span.h>
|
||||
|
||||
#include "gtest/gtest.h"
|
||||
#include "wpinet/uv/Loop.h"
|
||||
#include "wpinet/uv/Pipe.h"
|
||||
@@ -61,8 +60,8 @@ class WebSocketTest : public ::testing::Test {
|
||||
bool masking, uint64_t len);
|
||||
static std::vector<uint8_t> BuildMessage(uint8_t opcode, bool fin,
|
||||
bool masking,
|
||||
span<const uint8_t> data);
|
||||
static void AdjustMasking(span<uint8_t> message);
|
||||
std::span<const uint8_t> data);
|
||||
static void AdjustMasking(std::span<uint8_t> message);
|
||||
static const uint8_t testMask[4];
|
||||
|
||||
std::shared_ptr<uv::Loop> loop;
|
||||
|
||||
Reference in New Issue
Block a user