std::set<boost::filesystem::path> CFilesystemList::getResourceNames(const ResourceID & resourceName) const { std::set<boost::filesystem::path> paths; for(auto& loader : getResourcesWithName(resourceName)) { auto rn = loader->getResourceName(resourceName); if(rn) { paths.insert(rn->string()); } } return std::move(paths); }
boost::optional<std::string> CFilesystemList::getResourceName(const ResourceID & resourceName) const { if (existsResource(resourceName)) return getResourcesWithName(resourceName).back()->getResourceName(resourceName); return boost::optional<std::string>(); }
boost::optional<boost::filesystem::path> CFilesystemList::getResourceName(const ResourceID & resourceName) const { if (existsResource(resourceName)) return getResourcesWithName(resourceName).back()->getResourceName(resourceName); return boost::optional<boost::filesystem::path>(); }
bool CFilesystemList::existsResource(const ResourceID & resourceName) const { return !getResourcesWithName(resourceName).empty(); }