00001 #ifndef Impala_Core_Array_EqualsVal_h 00002 #define Impala_Core_Array_EqualsVal_h 00003 00004 #include "Core/Array/Pattern/PatUnaryPixOp.h" 00005 #include "Core/Array/Trait/BpoEqual.h" 00006 #include "Core/Array/Trait/BpoBind2Val.h" 00007 00008 namespace Impala 00009 { 00010 namespace Core 00011 { 00012 namespace Array 00013 { 00014 00015 00020 template<class DstArrayT, class SrcArrayT> 00021 inline void 00022 EqualsVal(DstArrayT*& dst, SrcArrayT* src, typename SrcArrayT::ArithType val) 00023 { 00024 Trait::BpoBind2Val<DstArrayT, SrcArrayT, 00025 Trait::BpoEqual<DstArrayT, SrcArrayT, SrcArrayT> > upo(val); 00026 Pattern::PatUnaryPixOp(dst, src, upo); 00027 } 00028 00029 } // namespace Array 00030 } // namespace Core 00031 } // namespace Impala 00032 00033 #endif