Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

https://godbolt.org/z/363oqqKfv

  struct File_handle {
      static auto Create(std::string const & pp, const char *r) -> std::expected<File_handle, std::error_code> {
          auto p = fopen(pp.c_str(), r);
          if (!p) return std::unexpected(error_code_from_errno(errno));
          return File_handle{p};
      }
      ~File_handle() { fclose(p); }
  private:
      File_handle(FILE * f) : p{f} {} 
      FILE *p;
  };


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: