Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:36:55

0001 //
0002 // Copyright 2005-2007 Adobe Systems Incorporated
0003 //
0004 // Distributed under the Boost Software License, Version 1.0
0005 // See accompanying file LICENSE_1_0.txt or copy at
0006 // http://www.boost.org/LICENSE_1_0.txt
0007 //
0008 #ifndef BOOST_GIL_EXTENSION_DYNAMIC_IMAGE_APPLY_OPERATION_HPP
0009 #define BOOST_GIL_EXTENSION_DYNAMIC_IMAGE_APPLY_OPERATION_HPP
0010 
0011 #include <boost/variant2/variant.hpp>
0012 
0013 namespace boost { namespace gil {
0014 
0015 /// \ingroup Variant
0016 /// \brief Applies the visitor op to the variants
0017 template <typename Variant1, typename Visitor>
0018 [[deprecated("Use variant2::visit instead.")]]
0019 BOOST_FORCEINLINE
0020 auto apply_operation(Variant1&& arg1, Visitor&& op)
0021 #if defined(BOOST_NO_CXX14_DECLTYPE_AUTO) || defined(BOOST_NO_CXX11_DECLTYPE_N3276)
0022     -> decltype(variant2::visit(std::forward<Visitor>(op), std::forward<Variant1>(arg1)))
0023 #endif
0024 {
0025     return variant2::visit(std::forward<Visitor>(op), std::forward<Variant1>(arg1));
0026 }
0027 
0028 /// \ingroup Variant
0029 /// \brief Applies the visitor op to the variants
0030 template <typename Variant1, typename Variant2, typename Visitor>
0031 [[deprecated("Use variant2::visit instead.")]]
0032 BOOST_FORCEINLINE
0033 auto apply_operation(Variant1&& arg1, Variant2&& arg2, Visitor&& op)
0034 #if defined(BOOST_NO_CXX14_DECLTYPE_AUTO) || defined(BOOST_NO_CXX11_DECLTYPE_N3276)
0035     -> decltype(variant2::visit(std::forward<Visitor>(op), std::forward<Variant1>(arg1), std::forward<Variant2>(arg2)))
0036 #endif
0037 {
0038     return variant2::visit(std::forward<Visitor>(op), std::forward<Variant1>(arg1), std::forward<Variant2>(arg2));
0039 }
0040 
0041 }}  // namespace boost::gil
0042 
0043 #endif