TFilePath TFilePath::decode(const std::map<string, string> &dictionary) const { TFilePath parent = getParentDir(); TFilePath filename = withParentDir(""); std::map<string, string>::const_iterator it = dictionary.find(filename.getFullPath()); if (it != dictionary.end()) filename = TFilePath(it->second); if (parent.isEmpty()) return filename; else return parent.decode(dictionary) + filename; }