117 {
118 std::scoped_lock lock(mutex_);
119
120
121 if (!cache_.empty()) {
122 return;
123 }
124 std::ifstream input(cache_path_);
125 if (!input) {
126 return;
127 }
128 std::string cache_contents{std::istreambuf_iterator<char>(input),
129 std::istreambuf_iterator<char>()};
131 d.Parse(cache_contents.c_str());
132 if (
d.HasParseError() || !
d.IsArray()) {
133
134 return;
135 }
136 const auto entries =
d.GetArray();
137 for (auto* it = entries.begin(); it != entries.end(); ++it) {
138 const auto root_obj = it->GetObject();
140
142 DartCallbackRepresentation cb;
143 cb.name = representation[
kNameKey].GetString();
147 }
148}
VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE auto & d
static const char * kHandleKey
static const char * kLibraryPathKey
static const char * kClassNameKey
static const char * kNameKey
static const char * kRepresentationKey