| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | /* * FileInfo.cpp, part of VCMI engine * * Authors: listed in file AUTHORS in main folder * * License: GNU General Public License v2.0 or later * Full text of license available in license.txt file, in main folder * */#include "StdInc.h"#include "FileInfo.h"namespace FileInfo{boost::string_ref GetFilename(boost::string_ref path){	const auto pos = path.find_last_of("/\\");	if (pos != boost::string_ref::npos)		return path.substr(pos + 1);	return path;}boost::string_ref GetExtension(boost::string_ref path){	const auto dotPos = path.find_last_of('.');	if(dotPos != boost::string_ref::npos)		return path.substr(dotPos);	return boost::string_ref{};}boost::string_ref GetStem(boost::string_ref path){	auto begin	= path.find_last_of("/\\");	auto end	= path.find_last_of('.');	if (begin == boost::string_ref::npos)		begin = 0;	else		begin += 1;	if (end < begin)		end = boost::string_ref::npos;	return path.substr(begin, end);}boost::string_ref GetParentPath(boost::string_ref path){	const auto pos = path.find_last_of("/\\");	return path.substr(0, pos);}boost::string_ref GetPathStem(boost::string_ref path){	const auto dotPos = path.find_last_of('.');	return path.substr(0, dotPos);}}
 |