8 #ifndef BOOST_GIL_IO_READ_IMAGE_INFO_HPP
9 #define BOOST_GIL_IO_READ_IMAGE_INFO_HPP
11 #include <boost/gil/io/base.hpp>
12 #include <boost/gil/io/device.hpp>
13 #include <boost/gil/io/get_reader.hpp>
14 #include <boost/gil/io/path_spec.hpp>
15 #include <boost/gil/detail/mp11.hpp>
17 #include <type_traits>
19 namespace boost{
namespace gil {
28 template <
typename Device,
typename FormatTag>
30 auto read_image_info(Device& file, image_read_settings<FormatTag>
const& settings,
31 typename std::enable_if
35 detail::is_adaptable_input_device<FormatTag, Device>,
36 is_format_tag<FormatTag>
41 return make_reader_backend(file, settings);
49 template <
typename Device,
typename FormatTag>
52 typename std::enable_if
56 detail::is_adaptable_input_device<FormatTag, Device>,
57 is_format_tag<FormatTag>
60 ->
typename get_reader_backend<Device, FormatTag>::type
70 template <
typename String,
typename FormatTag>
73 String
const& file_name, image_read_settings<FormatTag>
const& settings,
74 typename std::enable_if
78 is_format_tag<FormatTag>,
79 detail::is_supported_path_spec<String>
82 ->
typename get_reader_backend<String, FormatTag>::type
84 return make_reader_backend(file_name, settings);
92 template <
typename String,
typename FormatTag>
95 typename std::enable_if
99 is_format_tag<FormatTag>,
100 detail::is_supported_path_spec<String>
103 ->
typename get_reader_backend<String, FormatTag>::type
auto read_image_info(Device &file, image_read_settings< FormatTag > const &settings, typename std::enable_if< mp11::mp_and< detail::is_adaptable_input_device< FormatTag, Device >, is_format_tag< FormatTag > >::value >::type *=nullptr) -> typename get_reader_backend< Device, FormatTag >::type
Returns the image format backend. Backend is format specific.
Definition: read_image_info.hpp:30
defined(BOOST_NO_CXX17_HDR_MEMORY_RESOURCE)
Definition: algorithm.hpp:36
Helper metafunction to generate image backend type.
Definition: get_reader.hpp:115