mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-10-31 10:56:38 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			46 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef OPENMW_COMPONENTS_MISC_PATHHELPERS_H
 | |
| #define OPENMW_COMPONENTS_MISC_PATHHELPERS_H
 | |
| 
 | |
| #include <string>
 | |
| 
 | |
| namespace Misc
 | |
| {
 | |
|     inline size_t findExtension(std::string_view file)
 | |
|     {
 | |
|         return file.find_last_of('.');
 | |
|     }
 | |
| 
 | |
|     inline std::string_view getFileExtension(std::string_view file)
 | |
|     {
 | |
|         if (auto extPos = findExtension(file); extPos != std::string::npos)
 | |
|         {
 | |
|             file.remove_prefix(extPos + 1);
 | |
|             return file;
 | |
|         }
 | |
|         return {};
 | |
|     }
 | |
| 
 | |
|     inline std::string_view getFileName(std::string_view path)
 | |
|     {
 | |
|         if (auto namePos = path.find_last_of("/\\"); namePos != std::string::npos)
 | |
|         {
 | |
|             path.remove_prefix(namePos + 1);
 | |
|         }
 | |
| 
 | |
|         return path;
 | |
|     }
 | |
| 
 | |
|     inline std::string_view stemFile(std::string_view path)
 | |
|     {
 | |
|         path = getFileName(path);
 | |
| 
 | |
|         if (auto extPos = path.find_last_of("."); extPos != std::string::npos)
 | |
|         {
 | |
|             path.remove_suffix(path.size() - extPos);
 | |
|         }
 | |
| 
 | |
|         return path;
 | |
|     }
 | |
| }
 | |
| 
 | |
| #endif
 |