+ const char* c_str() { return path.c_str(); }
+
+ /**
+ * Determine if file exists by attempting to fopen it.
+ * @return true if file exists, otherwise returns false.
+ */
+ bool exists() const;
+
+ /**
+ * Create the designated directory.
+ * @return 0 on success, or <0 on failure.
+ */
+ int create_dir(mode_t mode);
+
+private:
+
+ void fix();
+