Laurent Carlier | 749294b | 2020-06-01 09:03:17 +0100 | [diff] [blame] | 1 | // |
Jim Flynn | 6da6a45 | 2020-07-14 14:26:27 +0100 | [diff] [blame] | 2 | // Copyright © 2020 Arm Ltd and Contributors. All rights reserved. |
Rob Hughes | bdee426 | 2020-01-07 17:05:24 +0000 | [diff] [blame] | 3 | // SPDX-License-Identifier: MIT |
| 4 | // |
| 5 | |
Rob Hughes | 9542f90 | 2021-07-14 09:48:54 +0100 | [diff] [blame] | 6 | #include <armnnUtils/Filesystem.hpp> |
Rob Hughes | bdee426 | 2020-01-07 17:05:24 +0000 | [diff] [blame] | 7 | |
Rob Hughes | bdee426 | 2020-01-07 17:05:24 +0000 | [diff] [blame] | 8 | namespace armnnUtils |
| 9 | { |
| 10 | namespace Filesystem |
| 11 | { |
| 12 | |
Francis Murtagh | 532a29d | 2020-06-29 11:50:01 +0100 | [diff] [blame] | 13 | /** |
| 14 | * @brief Construct a temporary file name. |
| 15 | * |
| 16 | * Given a specified file name construct a path to that file in the |
| 17 | * system temporary directory. If the file already exists it is deleted. This |
| 18 | * could throw filesystem_error exceptions. |
| 19 | * |
| 20 | * @param fileName the file name required in the temporary directory. |
| 21 | * @return path consisting of system temporary directory and file name. |
| 22 | */ |
| 23 | fs::path NamedTempFile(const char* fileName) |
Rob Hughes | bdee426 | 2020-01-07 17:05:24 +0000 | [diff] [blame] | 24 | { |
Francis Murtagh | 532a29d | 2020-06-29 11:50:01 +0100 | [diff] [blame] | 25 | fs::path tmpDir = fs::temp_directory_path(); |
| 26 | fs::path namedTempFile{tmpDir / fileName}; |
| 27 | if (fs::exists(namedTempFile)) |
Rob Hughes | bdee426 | 2020-01-07 17:05:24 +0000 | [diff] [blame] | 28 | { |
Francis Murtagh | 532a29d | 2020-06-29 11:50:01 +0100 | [diff] [blame] | 29 | fs::remove(namedTempFile); |
Rob Hughes | bdee426 | 2020-01-07 17:05:24 +0000 | [diff] [blame] | 30 | } |
Francis Murtagh | 532a29d | 2020-06-29 11:50:01 +0100 | [diff] [blame] | 31 | return namedTempFile; |
Rob Hughes | bdee426 | 2020-01-07 17:05:24 +0000 | [diff] [blame] | 32 | } |
| 33 | |
| 34 | } |
| 35 | } |