private:
const Path &path;
- std::string::size_type start,end;
+ std::string::size_type start, end;
Iterator(const Path &);
public:
Path();
Path(const std::string &);
Path(const char *);
+private:
+ void init(const std::string &);
+public:
const std::string &str() const { return path; }
/// Returns the number of components in the path.
Path operator/(const Path &p) const;
Path &operator/=(const Path &);
+private:
+ /** Adds a component to the path. It must not contain the directory
+ separator character. */
+ void add_component(const std::string &);
+
+public:
/** Extracts a single component from the path. Negative indices count from
the end of the path. */
std::string operator[](int) const;
bool operator==(const Path &) const;
Iterator begin() const;
Iterator end() const;
-private:
- void init(const std::string &);
-
- /** Adds a component to the path. It must not contain the directory
- separator character. */
- void add_component(const std::string &);
};
inline std::ostream &operator<<(std::ostream &o, const Path &p) { o<<p.str(); return o; }