8 #ifndef BOOST_GIL_IO_GET_READ_DEVICE_HPP     9 #define BOOST_GIL_IO_GET_READ_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 {
    23 struct get_read_device
    26 template <
typename Device, 
typename FormatTag>
    27 struct get_read_device
    31     typename std::enable_if
    35             detail::is_adaptable_input_device<FormatTag, Device>,
    36             is_format_tag<FormatTag>
    41     using type = 
typename detail::is_adaptable_input_device
    48 template <
typename String, 
typename FormatTag>
    49 struct get_read_device
    53     typename std::enable_if
    57             detail::is_supported_path_spec<String>,
    58             is_format_tag<FormatTag>
    63     using type = detail::file_stream_device<FormatTag>;