8 #include "networktables2/type/ArrayEntryType.h"
21 return m_elementType.
areEqual(v1, v2);
30 os.writeByte(dataArray->length);
31 for (
int i = 0; i < dataArray->length; ++i) {
32 m_elementType.
sendValue(dataArray->array[i], os);
37 uint8_t length = is.readByte();
39 for (
int i = 0; i < length; ++i) {
44 dataArray->length = length;
45 dataArray->array = array;
48 eValue.ptr = dataArray;
56 for (
int i = 0; i < otherDataArray->length; ++i) {
61 dataArray->length = otherDataArray->length;
62 dataArray->array = array;
65 eValue.ptr = dataArray;
71 for (
int i = 0; i < dataArray->length; ++i) {
74 if(dataArray->array != NULL)
75 free(dataArray->array);
83 if(a1->length != a2->length)
85 for (
int i = 0; i < a1->length; ++i) {
98 if(internalArray == NULL){
100 internalArray->length = 0;
101 internalArray->array = NULL;
102 eValue.ptr = internalArray;
105 if(internalArray->length==externalArrayData.
size()){
106 for(
int i = 0; i<internalArray->length; ++i){
112 if(internalArray->array != NULL)
113 free(internalArray->array);
114 internalArray->length = externalArrayData.
size();
115 if(internalArray->length == 0)
116 internalArray->array = NULL;
119 for (
int i = 0; i < internalArray->length; ++i) {
129 externalArrayData.setSize(internalArray->length);
130 for(
int i = 0; i<internalArray->length; ++i){
131 externalArrayData._set(i,
copyElement(internalArray->array[i]));
virtual void sendValue(EntryValue value, DataIOStream &os)=0
void deleteValue(EntryValue value)
virtual EntryValue readValue(DataIOStream &is)=0
EntryValue copyElement(EntryValue value)
EntryValue _get(unsigned int index)
bool areEqual(EntryValue v1, EntryValue v2)
void sendValue(EntryValue value, DataIOStream &os)
EntryValue copyValue(EntryValue value)
void deleteElement(EntryValue value)
ArrayEntryType(TypeId id, NetworkTableEntryType &elementType)
EntryValue internalizeValue(std::string &key, ComplexData &externalRepresentation, EntryValue currentInteralValue)
virtual EntryValue copyValue(EntryValue value)
bool areElementsEqual(EntryValue v1, EntryValue v2)
void exportValue(std::string &key, EntryValue internalData, ComplexData &externalRepresentation)
EntryValue readValue(DataIOStream &is)
virtual bool areEqual(EntryValue v1, EntryValue v2)=0
virtual void deleteValue(EntryValue value)