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;
 }
 
 }