| #pragma once |
| |
| #include <string> |
| |
| namespace torch { |
| namespace testing { |
| |
| namespace detail { |
| class Path; |
| } |
| |
| /// Gets the path to the resource identified by name. |
| /// |
| /// @param name identifies a resource, relative path starting from the |
| /// repo root |
| inline auto getResourcePath(std::string name) -> detail::Path; |
| |
| // End interface: implementation details follow. |
| |
| namespace detail { |
| |
| class Path { |
| public: |
| explicit Path(std::string rep) : rep_(std::move(rep)) {} |
| |
| auto string() const -> std::string const& { |
| return rep_; |
| } |
| |
| private: |
| std::string rep_; |
| }; |
| |
| } // namespace detail |
| |
| inline auto getResourcePath(std::string name) -> detail::Path { |
| return detail::Path(std::move(name)); |
| } |
| |
| } // namespace testing |
| } // namespace torch |