add lua dv::bytes support
This commit is contained in:
parent
9e8a33c411
commit
f7492ce449
@ -51,12 +51,23 @@ int lua::pushvalue(State* L, const dv::value& value) {
|
||||
}
|
||||
break;
|
||||
}
|
||||
case value_type::object: {
|
||||
case value_type::object:
|
||||
createtable(L, 0, value.size());
|
||||
for (const auto& [key, elem] : value.asObject()) {
|
||||
pushvalue(L, elem);
|
||||
setfield(L, key);
|
||||
}
|
||||
break;
|
||||
case value_type::bytes: {
|
||||
const auto& bytes = value.asBytes();
|
||||
createtable(L, 0, bytes.size());
|
||||
size_t size = bytes.size();
|
||||
for (size_t i = 0; i < size;) {
|
||||
pushinteger(L, bytes[i]);
|
||||
i++;
|
||||
rawseti(L, i);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
|
||||
@ -61,5 +61,13 @@ namespace util {
|
||||
void resizeFast(size_t size) {
|
||||
length = size;
|
||||
}
|
||||
|
||||
const T* begin() const {
|
||||
return ptr.get();
|
||||
}
|
||||
|
||||
const T* end() const {
|
||||
return ptr.get() + size;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user