Finally add concat and path operator to VFSPath
This commit is contained in:
parent
fc43f006a9
commit
cbc0f59400
|
@ -14,11 +14,22 @@ namespace Tesses::Framework::Filesystem
|
||||||
VFSPath(std::string path);
|
VFSPath(std::string path);
|
||||||
VFSPath(VFSPath p, std::string subent);
|
VFSPath(VFSPath p, std::string subent);
|
||||||
VFSPath(VFSPath p, VFSPath p2);
|
VFSPath(VFSPath p, VFSPath p2);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
VFSPath GetParent();
|
VFSPath GetParent();
|
||||||
VFSPath CollapseRelativeParents();
|
VFSPath CollapseRelativeParents();
|
||||||
std::string GetFileName();
|
std::string GetFileName();
|
||||||
std::string ToString();
|
std::string ToString();
|
||||||
};
|
};
|
||||||
|
VFSPath operator/(VFSPath p, VFSPath p2);
|
||||||
|
VFSPath operator/(VFSPath p, std::string p2);
|
||||||
|
VFSPath operator/(std::string p, VFSPath p2);
|
||||||
|
VFSPath operator+(VFSPath p, VFSPath p2);
|
||||||
|
VFSPath operator+(VFSPath p, std::string p2);
|
||||||
|
VFSPath operator+(std::string p, VFSPath p2);
|
||||||
|
|
||||||
|
|
||||||
class VFS {
|
class VFS {
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,53 @@
|
||||||
#include "TessesFramework/Http/HttpUtils.hpp"
|
#include "TessesFramework/Http/HttpUtils.hpp"
|
||||||
namespace Tesses::Framework::Filesystem
|
namespace Tesses::Framework::Filesystem
|
||||||
{
|
{
|
||||||
|
VFSPath operator/(VFSPath p, VFSPath p2)
|
||||||
|
{
|
||||||
|
return VFSPath(p,p2);
|
||||||
|
}
|
||||||
|
VFSPath operator/(VFSPath p, std::string p2)
|
||||||
|
{
|
||||||
|
return VFSPath(p,p2);
|
||||||
|
}
|
||||||
|
VFSPath operator/(std::string p, VFSPath p2)
|
||||||
|
{
|
||||||
|
return VFSPath(p,p2);
|
||||||
|
}
|
||||||
|
VFSPath operator+(VFSPath p, VFSPath p2)
|
||||||
|
{
|
||||||
|
VFSPath pout;
|
||||||
|
pout.relative = p.relative;
|
||||||
|
if(p.path.size()>1)
|
||||||
|
{
|
||||||
|
pout.path.insert(pout.path.end(),p.path.begin(),p.path.end()-1);
|
||||||
|
}
|
||||||
|
std::string mid={};
|
||||||
|
if(!p.path.empty())
|
||||||
|
{
|
||||||
|
mid.append(p.path.back());
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!p2.path.empty())
|
||||||
|
{
|
||||||
|
mid.append(p2.path.front());
|
||||||
|
}
|
||||||
|
pout.path.push_back(mid);
|
||||||
|
|
||||||
|
if(p2.path.size()>1)
|
||||||
|
{
|
||||||
|
pout.path.insert(pout.path.end(),p2.path.begin()+1,p2.path.end());
|
||||||
|
}
|
||||||
|
|
||||||
|
return pout;
|
||||||
|
}
|
||||||
|
VFSPath operator+(VFSPath p, std::string p2)
|
||||||
|
{
|
||||||
|
return p + VFSPath(p2);
|
||||||
|
}
|
||||||
|
VFSPath operator+(std::string p, VFSPath p2)
|
||||||
|
{
|
||||||
|
return VFSPath(p) + p2;
|
||||||
|
}
|
||||||
VFSPath VFS::ReadLink(VFSPath path)
|
VFSPath VFS::ReadLink(VFSPath path)
|
||||||
{
|
{
|
||||||
return VFSPath("/");
|
return VFSPath("/");
|
||||||
|
|
Loading…
Reference in New Issue