--- /dev/null
+// Roast+ License
+/*
+ file/access
+*/
+#ifndef __SFJP_ROAST__file__access_HPP__
+#define __SFJP_ROAST__file__access_HPP__
+
+#ifdef WIN32
+ // Windows
+ #include <io.h>
+ #ifndef F_OK
+ #define F_OK (00)
+ #endif
+ #ifndef R_OK
+ #define R_OK (04)
+ #endif
+ #ifndef W_OK
+ #define W_OK (02)
+ #endif
+ #ifndef X_OK
+ #define X_OK (F_OK)
+ #endif
+#else
+ // Linux/UNIX
+ #include <unistd.h>
+#endif
+
+namespace roast
+{
+ namespace file
+ {
+ bool is_exist(const char* filename)
+ {
+#ifdef WIN32
+ return _access(filename, F_OK) == 0;
+#else
+ return access(filename, F_OK) == 0;
+#endif
+ }
+
+ }
+}
+
+#endif//__SFJP_ROAST__file__access_HPP__