8 #ifndef BOOST_GIL_IO_GET_WRITE_DEVICE_HPP
9 #define BOOST_GIL_IO_GET_WRITE_DEVICE_HPP
11 #include <boost/gil/detail/mp11.hpp>
12 #include <boost/gil/io/device.hpp>
13 #include <boost/gil/io/path_spec.hpp>
15 #include <type_traits>
17 namespace boost {
namespace gil {
19 template <
typename T,
typename FormatTag,
class Enable =
void>
20 struct get_write_device {};
22 template <
typename Device,
typename FormatTag>
23 struct get_write_device
27 typename std::enable_if
31 detail::is_adaptable_output_device<FormatTag, Device>,
32 is_format_tag<FormatTag>
38 typename detail::is_adaptable_output_device<FormatTag, Device>::device_type;
41 template <
typename String,
typename FormatTag>
42 struct get_write_device
46 typename std::enable_if
50 detail::is_supported_path_spec<String>,
51 is_format_tag<FormatTag>
56 using type = detail::file_stream_device<FormatTag>;
defined(BOOST_NO_CXX17_HDR_MEMORY_RESOURCE)
Definition: algorithm.hpp:36