image_reader* get_image_reader(std::string const& filename) { boost::optional<std::string> type = type_from_filename(filename); if (type) { return ImageReaderFactory::instance().create_object(*type,filename); } return 0; }
image_reader* get_image_reader(std::string const& filename) { boost::optional<std::string> type = type_from_filename(filename); if (type) { return factory<image_reader,std::string,std::string const&>::instance().create_object(*type,filename); } else { throw image_reader_exception("image_reader: can't determine type from input data"); } }