[ntcore] Value: Inline constructors

This commit is contained in:
Peter Johnson
2024-10-15 16:44:34 -07:00
parent de318fab91
commit 876be30724
2 changed files with 37 additions and 33 deletions

View File

@@ -18,7 +18,6 @@
#include "Value_internal.h"
#include "networktables/NetworkTableValue.h"
#include "ntcore_cpp.h"
using namespace nt;
@@ -70,35 +69,6 @@ void StringArrayStorage::InitNtStrings() {
}
}
Value::Value() {
m_val.type = NT_UNASSIGNED;
m_val.last_change = 0;
m_val.server_time = 0;
m_size = 0;
}
Value::Value(NT_Type type, size_t size, int64_t time, const private_init&)
: Value{type, size, time == 0 ? nt::Now() : time, 1, private_init{}} {}
Value::Value(NT_Type type, size_t size, int64_t time, int64_t serverTime,
const private_init&) {
m_val.type = type;
m_val.last_change = time;
m_val.server_time = serverTime;
if (m_val.type == NT_BOOLEAN_ARRAY) {
m_val.data.arr_boolean.arr = nullptr;
} else if (m_val.type == NT_INTEGER_ARRAY) {
m_val.data.arr_int.arr = nullptr;
} else if (m_val.type == NT_FLOAT_ARRAY) {
m_val.data.arr_float.arr = nullptr;
} else if (m_val.type == NT_DOUBLE_ARRAY) {
m_val.data.arr_double.arr = nullptr;
} else if (m_val.type == NT_STRING_ARRAY) {
m_val.data.arr_string.arr = nullptr;
}
m_size = size;
}
Value Value::MakeBooleanArray(std::span<const bool> value, int64_t time) {
Value val{NT_BOOLEAN_ARRAY, value.size() * sizeof(int), time, private_init{}};
auto data = AllocateArray<int>(value.size());