00001 #ifndef Impala_Core_Array_Label_h
00002 #define Impala_Core_Array_Label_h
00003
00004 #include "Core/Array/Pattern/PatQueueBased.h"
00005 #include "Core/Array/Trait/QbLabel.h"
00006 #include "Core/Array/Trait/QbLabelOld.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 Label(DstArrayT*& dst, SrcArrayT* src, int conn)
00023 {
00024 Trait::QbLabel<DstArrayT, SrcArrayT> qb;
00025 Pattern::PatQueueBased(dst, src, qb, conn);
00026 }
00027
00028
00029
00030 template<class DstArrayT, class SrcArrayT>
00031 inline void
00032 LabelOld(DstArrayT*& dst, SrcArrayT* src, int conn)
00033 {
00034 Trait::QbLabelOld<DstArrayT, SrcArrayT, SrcArrayT> qb;
00035 SrcArrayT* mask = src;
00036 Pattern::PatQueueBased(dst, src, mask, qb, conn);
00037 }
00038
00039 }
00040 }
00041 }
00042
00043 #endif