8 #ifndef BOOST_GIL_EXTENSION_DYNAMIC_IMAGE_APPLY_OPERATION_HPP
9 #define BOOST_GIL_EXTENSION_DYNAMIC_IMAGE_APPLY_OPERATION_HPP
11 #include <boost/gil/extension/dynamic_image/apply_operation_base.hpp>
12 #include <boost/gil/extension/dynamic_image/variant.hpp>
14 #ifdef BOOST_GIL_DOXYGEN_ONLY
15 #undef BOOST_GIL_REDUCE_CODE_BLOAT
20 #ifdef BOOST_GIL_REDUCE_CODE_BLOAT
22 #include <boost/gil/extension/dynamic_image/reduce.hpp>
26 namespace boost {
namespace gil {
30 template <
typename Types,
typename UnaryOp> BOOST_FORCEINLINE
32 return apply_operation_base<Types>(arg._bits, arg._index ,op);
37 template <
typename Types,
typename UnaryOp> BOOST_FORCEINLINE
39 return apply_operation_basec<Types>(arg._bits, arg._index ,op);
44 template <
typename Types1,
typename Types2,
typename BinaryOp> BOOST_FORCEINLINE
46 return apply_operation_base<Types1,Types2>(arg1._bits, arg1._index, arg2._bits, arg2._index, op);
51 #endif // defined(BOOST_GIL_REDUCE_CODE_BLOAT)
BOOST_FORCEINLINE BinaryOp::result_type apply_operation(const variant< Types1 > &arg1, const variant< Types2 > &arg2, BinaryOp op)
Invokes a generic constant operation (represented as a binary function object) on two variants...
Definition: apply_operation.hpp:45
Represents a concrete instance of a run-time specified type from a set of typesA concept is typically...
Definition: variant.hpp:80