diff options
Diffstat (limited to 'thirdparty/embree-aarch64/common/sys/filename.cpp')
-rw-r--r-- | thirdparty/embree-aarch64/common/sys/filename.cpp | 138 |
1 files changed, 0 insertions, 138 deletions
diff --git a/thirdparty/embree-aarch64/common/sys/filename.cpp b/thirdparty/embree-aarch64/common/sys/filename.cpp deleted file mode 100644 index 86182c1afb..0000000000 --- a/thirdparty/embree-aarch64/common/sys/filename.cpp +++ /dev/null @@ -1,138 +0,0 @@ -// Copyright 2009-2020 Intel Corporation -// SPDX-License-Identifier: Apache-2.0 - -#include "filename.h" -#include "sysinfo.h" - -namespace embree -{ -#ifdef __WIN32__ - const char path_sep = '\\'; -#else - const char path_sep = '/'; -#endif - - /*! create an empty filename */ - FileName::FileName () {} - - /*! create a valid filename from a string */ - FileName::FileName (const char* in) { - filename = in; - for (size_t i=0; i<filename.size(); i++) - if (filename[i] == '\\' || filename[i] == '/') - filename[i] = path_sep; - while (!filename.empty() && filename[filename.size()-1] == path_sep) - filename.resize(filename.size()-1); - } - - /*! create a valid filename from a string */ - FileName::FileName (const std::string& in) { - filename = in; - for (size_t i=0; i<filename.size(); i++) - if (filename[i] == '\\' || filename[i] == '/') - filename[i] = path_sep; - while (!filename.empty() && filename[filename.size()-1] == path_sep) - filename.resize(filename.size()-1); - } - - /*! returns path to home folder */ - FileName FileName::homeFolder() - { -#ifdef __WIN32__ - const char* home = getenv("UserProfile"); -#else - const char* home = getenv("HOME"); -#endif - if (home) return home; - return ""; - } - - /*! returns path to executable */ - FileName FileName::executableFolder() { - return FileName(getExecutableFileName()).path(); - } - - /*! returns the path */ - FileName FileName::path() const { - size_t pos = filename.find_last_of(path_sep); - if (pos == std::string::npos) return FileName(); - return filename.substr(0,pos); - } - - /*! returns the basename */ - std::string FileName::base() const { - size_t pos = filename.find_last_of(path_sep); - if (pos == std::string::npos) return filename; - return filename.substr(pos+1); - } - - /*! returns the extension */ - std::string FileName::ext() const { - size_t pos = filename.find_last_of('.'); - if (pos == std::string::npos) return ""; - return filename.substr(pos+1); - } - - /*! returns the extension */ - FileName FileName::dropExt() const { - size_t pos = filename.find_last_of('.'); - if (pos == std::string::npos) return filename; - return filename.substr(0,pos); - } - - /*! returns the basename without extension */ - std::string FileName::name() const { - size_t start = filename.find_last_of(path_sep); - if (start == std::string::npos) start = 0; else start++; - size_t end = filename.find_last_of('.'); - if (end == std::string::npos || end < start) end = filename.size(); - return filename.substr(start, end - start); - } - - /*! replaces the extension */ - FileName FileName::setExt(const std::string& ext) const { - size_t start = filename.find_last_of(path_sep); - if (start == std::string::npos) start = 0; else start++; - size_t end = filename.find_last_of('.'); - if (end == std::string::npos || end < start) return FileName(filename+ext); - return FileName(filename.substr(0,end)+ext); - } - - /*! adds the extension */ - FileName FileName::addExt(const std::string& ext) const { - return FileName(filename+ext); - } - - /*! concatenates two filenames to this/other */ - FileName FileName::operator +( const FileName& other ) const { - if (filename == "") return FileName(other); - else return FileName(filename + path_sep + other.filename); - } - - /*! concatenates two filenames to this/other */ - FileName FileName::operator +( const std::string& other ) const { - return operator+(FileName(other)); - } - - /*! removes the base from a filename (if possible) */ - FileName FileName::operator -( const FileName& base ) const { - size_t pos = filename.find_first_of(base); - if (pos == std::string::npos) return *this; - return FileName(filename.substr(pos+1)); - } - - /*! == operator */ - bool operator== (const FileName& a, const FileName& b) { - return a.filename == b.filename; - } - - /*! != operator */ - bool operator!= (const FileName& a, const FileName& b) { - return a.filename != b.filename; - } - - /*! output operator */ - std::ostream& operator<<(std::ostream& cout, const FileName& filename) { - return cout << filename.filename; - } -} |