apply_operation.hppGo to the documentation of this file.00001 /* 00002 Copyright 2005-2007 Adobe Systems Incorporated 00003 00004 Use, modification and distribution are subject to the Boost Software License, 00005 Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 00006 http://www.boost.org/LICENSE_1_0.txt). 00007 00008 See http://opensource.adobe.com/gil for most recent version including documentation. 00009 */ 00010 00011 /*************************************************************************************************/ 00012 00013 #ifndef GIL_APPLY_OPERATION_HPP 00014 #define GIL_APPLY_OPERATION_HPP 00015 00024 00025 #include "apply_operation_base.hpp" 00026 #include "variant.hpp" 00027 00028 #ifndef GIL_REDUCE_CODE_BLOAT 00029 00030 namespace boost { namespace gil { 00031 00034 template <typename Types, typename UnaryOp> GIL_FORCEINLINE 00035 typename UnaryOp::result_type apply_operation(variant<Types>& arg, UnaryOp op) { 00036 return apply_operation_base<Types>(arg._bits, arg._index ,op); 00037 } 00038 00041 template <typename Types, typename UnaryOp> GIL_FORCEINLINE 00042 typename UnaryOp::result_type apply_operation(const variant<Types>& arg, UnaryOp op) { 00043 return apply_operation_basec<Types>(arg._bits, arg._index ,op); 00044 } 00045 00048 template <typename Types1, typename Types2, typename BinaryOp> GIL_FORCEINLINE 00049 typename BinaryOp::result_type apply_operation(const variant<Types1>& arg1, const variant<Types2>& arg2, BinaryOp op) { 00050 return apply_operation_base<Types1,Types2>(arg1._bits, arg1._index, arg2._bits, arg2._index, op); 00051 } 00052 00053 } } // namespace boost::gil 00054 00055 #else 00056 00057 #include "reduce.hpp" 00058 00059 #endif 00060 00061 #endif Generated on Sat May 2 13:50:13 2009 for Generic Image Library by 1.5.6 |