list.h
Go to the documentation of this file.
00001 
00059 /*
00060  * list.h
00061  *
00062  *  Created on: 11.06.2012
00063  *      Author: josh
00064  */
00065 
00066 #ifndef LIST_H_
00067 #define LIST_H_
00068 
00069 
00070 
00071 
00076 struct SVALUE
00077 {
00078   unsigned int v,hops;
00079 
00080   SVALUE(){}
00081 
00082   SVALUE(const unsigned int v, const unsigned int hops)
00083   :v(v), hops(hops)
00084   {}
00085 
00086 };
00087 
00091 template<typename VALUE>
00092 struct VISITED_LIST {
00093   int size;
00094   int pos;
00095   std::vector<VALUE> vals;
00096 
00097   VISITED_LIST():size(0),pos(-1), vals(1000) {
00098   }
00099 
00100   inline void init()
00101   {
00102     size=(0);
00103     pos=(-1);
00104   }
00105 
00106   inline void add(const VALUE &v) {
00107     if((size_t)size>=vals.size())
00108       vals.push_back(v);
00109     else
00110       vals[size]=v;
00111     ++size;
00112   }
00113 
00114   inline void move() {++pos;}
00115 
00116   inline void remove() {
00117     --size;
00118     if(pos<size) vals[pos]=vals[size];
00119     --pos;
00120   }
00121 
00122   inline void replace(const VALUE &v) {
00123     vals[pos]=v;
00124   }
00125 };
00126 
00127 
00132 struct SXY {
00133   int x,y;
00134   bool back;
00135 };
00136 
00140 struct SXYcmp {
00141   inline bool operator() (const SXY& lhs, const SXY& rhs) const
00142   {if(lhs.y==rhs.y)
00143     return lhs.x<rhs.x;
00144   return lhs.y<rhs.y;}
00145 };
00146 
00147 #endif /* LIST_H_ */


cob_3d_segmentation
Author(s): Georg Arbeiter
autogenerated on Wed Aug 26 2015 11:03:03