    inline bool is_file(const char *const path) {
      if (!path || !*path) return false;
#if cimg_OS==2
      const DWORD res = cimg::win_getfileattributes(path);
      return res!=INVALID_FILE_ATTRIBUTES && !(res&FILE_ATTRIBUTE_DIRECTORY);
#else
      std::FILE *const file = cimg::std_fopen(path,"rb");
      if (!file) return false;
      cimg::fclose(file);
      return !is_directory(path);
#endif
    }
    inline bool is_file(const char *const path) {
      if (!path || !*path) return false;
#if cimg_OS==2
      const DWORD res = cimg::win_getfileattributes(path);
      return res!=INVALID_FILE_ATTRIBUTES && !(res&FILE_ATTRIBUTE_DIRECTORY);
#else
      std::FILE *const file = cimg::std_fopen(path,"rb");
      if (!file) return false;
      cimg::fclose(file);
      return !is_directory(path);
#endif
    }