IVGCVSW-4487 Remove boost::filesystem
* Replace filesystem::path
* Replace filesystem::exists
* Replace filesystem::is_directory
* Replace filesystem::directory_iterator
* Replace filesystem::filesystem_error exception
* Replace filesystem::temp_directory_path
* Replace filesystem::unique path
* Replace filesystem::ofstream with std::ofstream
* Replace filesystem::remove
* Replace filesystem::is_regular_file
* Replace boost::optional with armnn::Optional in touched files
* Remove some superfluous includes
* Update build guides, GlobalConfig.cmake and CMakeLists.txt
* Remove redundant armnnUtils::Filesystem::Remove function.
* Remove redundant armnnUtils::Filesystem::GetFileSize function.
Temporarily adding back Boost::filesystem to enable Boost::dll.
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: Ifa46d4a0097d2612ddacd8e9736c0b36e365fb11
diff --git a/src/armnnUtils/Filesystem.cpp b/src/armnnUtils/Filesystem.cpp
index 4a2e2ed..ac9a414 100644
--- a/src/armnnUtils/Filesystem.cpp
+++ b/src/armnnUtils/Filesystem.cpp
@@ -5,51 +5,30 @@
#include "Filesystem.hpp"
-#if defined(__unix__)
-#include <sys/stat.h>
-#include <stdio.h>
-#elif defined(_MSC_VER)
-#include "WindowsWrapper.hpp"
-#endif
-
namespace armnnUtils
{
namespace Filesystem
{
-long long GetFileSize(const char* path)
+/**
+ * @brief Construct a temporary file name.
+ *
+ * Given a specified file name construct a path to that file in the
+ * system temporary directory. If the file already exists it is deleted. This
+ * could throw filesystem_error exceptions.
+ *
+ * @param fileName the file name required in the temporary directory.
+ * @return path consisting of system temporary directory and file name.
+ */
+fs::path NamedTempFile(const char* fileName)
{
-#if defined(__ANDROID__)
- struct stat statusBuffer;
- if (stat(path, & statusBuffer) != 0)
+ fs::path tmpDir = fs::temp_directory_path();
+ fs::path namedTempFile{tmpDir / fileName};
+ if (fs::exists(namedTempFile))
{
- return -1;
+ fs::remove(namedTempFile);
}
- return statusBuffer.st_size;
-#elif defined(__unix__)
- struct stat statusBuffer;
- if (stat(path, & statusBuffer) != 0)
- {
- return -1;
- }
- return static_cast<long long>(statusBuffer.st_size);
-#elif defined(_MSC_VER)
- WIN32_FILE_ATTRIBUTE_DATA attr;
- if (::GetFileAttributesEx(path, GetFileExInfoStandard, &attr) == 0)
- {
- return -1;
- }
- return attr.nFileSizeLow;
-#endif
-}
-
-bool Remove(const char* path)
-{
-#if defined(__unix__)
- return remove(path) == 0;
-#elif defined(_MSC_VER)
- return ::DeleteFile(path);
-#endif
+ return namedTempFile;
}
}