#include <boost/gil/io/device.hpp>
#include <boost/gil/io/get_reader.hpp>
#include <boost/gil/io/path_spec.hpp>
-
-#include <boost/mpl/and.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
+#include <boost/gil/detail/mp11.hpp>
#include <type_traits>
void read_image(Reader reader, Image& img,
typename std::enable_if
<
- mpl::and_
+ mp11::mp_and
<
detail::is_reader<Reader>,
is_format_tag<typename Reader::format_tag_t>,
image_read_settings<FormatTag> const& settings,
typename std::enable_if
<
- mpl::and_
+ mp11::mp_and
<
detail::is_read_device<FormatTag, Device>,
is_format_tag<FormatTag>,
void read_image(Device& file, Image& img, FormatTag const& tag,
typename std::enable_if
<
- mpl::and_
+ mp11::mp_and
<
detail::is_read_device<FormatTag, Device>,
is_format_tag<FormatTag>,
image_read_settings<FormatTag> const& settings,
typename std::enable_if
<
- mpl::and_
+ mp11::mp_and
<
detail::is_supported_path_spec<String>,
is_format_tag<FormatTag>,
void read_image(String const& file_name, Image& img, FormatTag const& tag,
typename std::enable_if
<
- mpl::and_<detail::is_supported_path_spec<String>,
+ mp11::mp_and<detail::is_supported_path_spec<String>,
is_format_tag<FormatTag>,
is_read_supported
<
void read_image(Reader& reader, any_image<Images>& images,
typename std::enable_if
<
- mpl::and_
+ mp11::mp_and
<
detail::is_dynamic_image_reader<Reader>,
is_format_tag<typename Reader::format_tag_t>
/// \brief Reads an image without conversion. Image memory is allocated.
/// \param file It's a device. Must satisfy is_adaptable_input_device metafunction.
-/// \param images Dynamic image ( mpl::vector ). See boost::gil::dynamic_image extension.
+/// \param images Dynamic image (mp11::mp_list). See boost::gil::dynamic_image extension.
/// \param settings Specifies read settings depending on the image format.
/// \throw std::ios_base::failure
template <typename Device, typename Images, typename FormatTag>
image_read_settings<FormatTag> const& settings,
typename std::enable_if
<
- mpl::and_
+ mp11::mp_and
<
detail::is_read_device<FormatTag, Device>,
is_format_tag<FormatTag>
/// \brief Reads an image without conversion. Image memory is allocated.
/// \param file It's a device. Must satisfy is_adaptable_input_device metafunction.
-/// \param images Dynamic image ( mpl::vector ). See boost::gil::dynamic_image extension.
+/// \param images Dynamic image (mp11::mp_list). See boost::gil::dynamic_image extension.
/// \param tag Defines the image format. Must satisfy is_format_tag metafunction.
/// \throw std::ios_base::failure
template <typename Device, typename Images, typename FormatTag>
void read_image(Device& file, any_image<Images>& images, FormatTag const& tag,
typename std::enable_if
<
- mpl::and_
+ mp11::mp_and
<
detail::is_read_device<FormatTag, Device>,
is_format_tag<FormatTag>
/// \brief Reads an image without conversion. Image memory is allocated.
/// \param file_name File name. Must satisfy is_supported_path_spec metafunction.
-/// \param images Dynamic image ( mpl::vector ). See boost::gil::dynamic_image extension.
+/// \param images Dynamic image (mp11::mp_list). See boost::gil::dynamic_image extension.
/// \param settings Specifies read settings depending on the image format.
/// \throw std::ios_base::failure
template <typename String, typename Images, typename FormatTag>
image_read_settings<FormatTag> const& settings,
typename std::enable_if
<
- mpl::and_
+ mp11::mp_and
<
detail::is_supported_path_spec<String>,
is_format_tag<FormatTag>
/// \brief Reads an image without conversion. Image memory is allocated.
/// \param file_name File name. Must satisfy is_supported_path_spec metafunction.
-/// \param images Dynamic image ( mpl::vector ). See boost::gil::dynamic_image extension.
+/// \param images Dynamic image (mp11::mp_list). See boost::gil::dynamic_image extension.
/// \param tag Defines the image format. Must satisfy is_format_tag metafunction.
/// \throw std::ios_base::failure
template <typename String, typename Images, typename FormatTag>
void read_image(String const& file_name, any_image<Images>& images, FormatTag const& tag,
typename std::enable_if
<
- mpl::and_
+ mp11::mp_and
<
detail::is_supported_path_spec<String>,
is_format_tag<FormatTag>