#ifndef _D4X_PATH_CLASS_HEADER_
#define _D4X_PATH_CLASS_HEADER_
#include <string>
namespace d4x{
/* why not boost::path?
*/
class Path:public std::string{
void normalize(); //remove all /./ and /../
public:
Path():std::string(){};
Path(const Path &_p):std::string(_p){};
Path(const char*_p):std::string(_p){normalize();};
Path(const std::string &_p):std::string(_p){normalize();};
Path& operator =(const Path &_p){
std::string::operator=(_p);
return *this;
};
Path& operator /=(const Path &); //concatenate(append) path
Path operator/(const Path &) const;
};
};
#endif //_D4X_PATH_CLASS_HEADER_
syntax highlighted by Code2HTML, v. 0.9.1