8#ifndef BOOST_GIL_EXTENSION_DYNAMIC_IMAGE_APPLY_OPERATION_HPP
9#define BOOST_GIL_EXTENSION_DYNAMIC_IMAGE_APPLY_OPERATION_HPP
11#include <boost/variant2/variant.hpp>
13namespace boost {
namespace gil {
17template <
typename Variant1,
typename Visitor>
18[[deprecated(
"Use variant2::visit instead.")]]
21#if defined(BOOST_NO_CXX14_DECLTYPE_AUTO) || defined(BOOST_NO_CXX11_DECLTYPE_N3276)
22 ->
decltype(variant2::visit(std::forward<Visitor>(op), std::forward<Variant1>(arg1)))
25 return variant2::visit(std::forward<Visitor>(op), std::forward<Variant1>(arg1));
30template <
typename Variant1,
typename Variant2,
typename Visitor>
31[[deprecated(
"Use variant2::visit instead.")]]
34#if defined(BOOST_NO_CXX14_DECLTYPE_AUTO) || defined(BOOST_NO_CXX11_DECLTYPE_N3276)
35 ->
decltype(variant2::visit(std::forward<Visitor>(op), std::forward<Variant1>(arg1), std::forward<Variant2>(arg2)))
38 return variant2::visit(std::forward<Visitor>(op), std::forward<Variant1>(arg1), std::forward<Variant2>(arg2));
BOOST_FORCEINLINE auto apply_operation(Variant1 &&arg1, Visitor &&op)
Applies the visitor op to the variants.
Definition: apply_operation.hpp:20
defined(BOOST_NO_CXX17_HDR_MEMORY_RESOURCE)
Definition: algorithm.hpp:36