diff --git a/src/imvue_element.h b/src/imvue_element.h index 900e4a4..257678c 100644 --- a/src/imvue_element.h +++ b/src/imvue_element.h @@ -351,6 +351,23 @@ namespace ImVue { return true; } + template + typename std::enable_if::value, bool>::type + read(Object& value, C** dest) + { + if(*dest) { + ImGui::MemFree(*dest); + *dest = NULL; + } + ImVector values; + for(Object::iterator iter = value.begin(); iter != value.end(); ++iter) { + values.push_back(iter.value.as()); + } + *dest = (C*)ImGui::MemAlloc(values.size_in_bytes()); + memcpy(*dest, values.Data, values.size_in_bytes()); + return true; + } + template typename std::enable_if::value, bool>::type read(Object& value, C* dest) diff --git a/tests/unit/parser.cpp b/tests/unit/parser.cpp index 0668c3f..c6d86b0 100644 --- a/tests/unit/parser.cpp +++ b/tests/unit/parser.cpp @@ -252,7 +252,7 @@ const char* dataBind = "