Image::AutoPtr ImageFactory::create(Image::Type type, const std::string& path) { FileIo *fileIo = new FileIo(path); BasicIo::AutoPtr io(fileIo); // Create or overwrite the file, then close it if (fileIo->open("w+b") != 0) return Image::AutoPtr(); fileIo->close(); return create(type, io); }