8 #ifndef BOOST_GIL_IO_GET_WRITER_HPP 9 #define BOOST_GIL_IO_GET_WRITER_HPP 11 #include <boost/gil/io/get_write_device.hpp> 13 #include <boost/mpl/and.hpp> 15 #include <type_traits> 17 namespace boost {
namespace gil {
20 template <
typename T,
typename FormatTag,
class Enable =
void>
24 template <
typename String,
typename FormatTag>
29 typename std::enable_if
33 detail::is_supported_path_spec<String>,
34 is_format_tag<FormatTag>
39 using device_t =
typename get_write_device<String, FormatTag>::type;
40 using type = writer<device_t, FormatTag>;
43 template <
typename Device,
typename FormatTag>
48 typename std::enable_if
52 detail::is_adaptable_output_device<FormatTag, Device>,
53 is_format_tag<FormatTag>
58 using device_t =
typename get_write_device<Device, FormatTag>::type;
59 using type = writer<device_t, FormatTag>;
63 template <
typename T,
typename FormatTag,
class Enable =
void>
66 template <
typename String,
typename FormatTag>
71 typename std::enable_if
75 detail::is_supported_path_spec<String>,
76 is_format_tag<FormatTag>
81 using device_t =
typename get_write_device<String, FormatTag>::type;
82 using type = dynamic_image_writer<device_t, FormatTag>;
85 template <
typename Device,
typename FormatTag>
90 typename std::enable_if
94 detail::is_write_device<FormatTag, Device>,
95 is_format_tag<FormatTag>
100 using device_t =
typename get_write_device<Device, FormatTag>::type;
101 using type = dynamic_image_writer<device_t, FormatTag>;
Definition: algorithm.hpp:30
Helper metafunction to generate writer type.
Definition: get_writer.hpp:21
Helper metafunction to generate dynamic image writer type.
Definition: get_writer.hpp:64