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>
13 namespace boost {
namespace gil {
17 template <
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));
30 template <
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, Variant2 &&arg2, Visitor &&op)
Applies the visitor op to the variants.
Definition: apply_operation.hpp:33
defined(BOOST_NO_CXX17_HDR_MEMORY_RESOURCE)
Definition: algorithm.hpp:36