| 279 | } |
| 280 | |
| 281 | const std::set<AbstractFunction *> Meta::functions(const Version & version) |
| 282 | { |
| 283 | const auto i = Meta_FunctionStringsByVersion.find(version); |
| 284 | |
| 285 | if (i == Meta_FunctionStringsByVersion.cend()) |
| 286 | { |
| 287 | return std::set<AbstractFunction *>{}; |
| 288 | } |
| 289 | |
| 290 | const auto & functionNames = i->second; |
| 291 | const auto & allFunctions = Binding::functions(); |
| 292 | |
| 293 | auto requiredFunctions = std::set<AbstractFunction *>{}; |
| 294 | |
| 295 | for (const auto function : allFunctions) |
| 296 | { |
| 297 | if (functionNames.find(function->name()) != functionNames.cend()) |
| 298 | requiredFunctions.insert(function); |
| 299 | } |
| 300 | |
| 301 | const auto exts = extensions(version); |
| 302 | for (const auto & ext : exts) |
| 303 | { |
| 304 | const auto f = functions(ext); |
| 305 | requiredFunctions.insert(f.cbegin(), f.cend()); |
| 306 | } |
| 307 | |
| 308 | return requiredFunctions; |
| 309 | } |
| 310 | |
| 311 | const std::set<AbstractFunction *> Meta::functions(const GLextension extension) |
| 312 | { |
nothing calls this directly
no test coverage detected