X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Ffs%2Fpath.h;h=1b15047cc528ece01f9d2061fcd0fd3740dedfef;hp=82600dc35c28d5787f69b56f0af3b8b12af50f22;hb=HEAD;hpb=1a563cfd722a5571428562259790b4948980dd4f diff --git a/source/fs/path.h b/source/fs/path.h index 82600dc..1b15047 100644 --- a/source/fs/path.h +++ b/source/fs/path.h @@ -4,6 +4,7 @@ #include #include #include +#include namespace Msp { namespace FS { @@ -28,13 +29,13 @@ A path can also be treated as an array of components, supporting indexing, iteration and slicing. In this context the root directory is treated as a component of its own. */ -class Path +class MSPCORE_API Path { private: typedef std::vector PositionArray; public: - class Iterator + class MSPCORE_API Iterator { public: typedef PositionArray::difference_type difference_type; @@ -67,16 +68,13 @@ public: private: std::string path; - std::vector separators; + PositionArray separators; public: - Path(); + Path() = default; Path(const std::string &); - Path(const char *); -private: - void init(const std::string &); + Path(const char *p): Path(std::string(p)) { } -public: /// Returns the path as a string. const std::string &str() const { return path; }