00001 #ifndef __itkOffsetLexicographicCompare_h
00002 #define __itkOffsetLexicographicCompare_h
00003
00004 namespace itk {
00005
00006 namespace Functor
00007 {
00015 template<unsigned int VOffsetDimension>
00016 class OffsetLexicographicCompare
00017 {
00018 public:
00019 bool operator()(Offset<VOffsetDimension> const& l,
00020 Offset<VOffsetDimension> const& r) const
00021 {
00022 for(unsigned int i=0; i < VOffsetDimension; ++i)
00023 {
00024 if(l.m_Offset[i] < r.m_Offset[i])
00025 {
00026 return true;
00027 }
00028 else if(l.m_Offset[i] > r.m_Offset[i])
00029 {
00030 return false;
00031 }
00032 }
00033 return false;
00034 }
00035 };
00036 }
00037
00038 }
00039
00040 #endif
00041