731 {
733 return json(
nullptr);
734 }
735
736 auto arrPtr =
mValue->as_array();
737 if (arrPtr) {
738 if (idx < arrPtr->
size()) {
739 return json((*arrPtr)[idx]);
740 }
741 return json(
nullptr);
742 }
743
744 if (
auto p =
mValue->data.ptr<fl::vector<i16>>()) {
745 if (idx < p->
size())
return json(
static_cast<i64>((*p)[idx]));
746 }
else if (
auto p =
mValue->data.ptr<fl::vector<u8>>()) {
747 if (idx < p->
size())
return json(
static_cast<i64>((*p)[idx]));
748 }
else if (
auto p =
mValue->data.ptr<fl::vector<float>>()) {
749 if (idx < p->
size())
return json((*p)[idx]);
750 }
size_t size() const FL_NO_EXCEPT
fl::shared_ptr< json_value > mValue