24 template <
class VT,
class AVT>
29 : maxsize_( maxsize ) {}
36 inline VT getValue(
int rank)
const;
37 inline AVT getAssociatedValue(
int rank)
const;
39 inline bool getHighestValue( VT& )
const;
40 inline bool getLowestValue( VT& )
const;
42 inline int size()
const;
43 inline int isEmpty()
const {
return !size(); }
45 inline void addValue( VT val, AVT aval );
53 template <
class VT,
class AVT>
inline 60 template <
class VT,
class AVT>
inline 62 {
return values_[pos].first; }
65 template <
class VT,
class AVT>
inline 67 {
return values_[pos].second; }
70 template <
class VT,
class AVT>
inline 72 {
return values_.size(); }
76 template <
class VT,
class AVT>
inline 81 res = values_[0].first;
89 template <
class VT,
class AVT>
inline 92 const int sz = size();
95 res = values_[sz-1].first;
104 template <
class VT,
class AVT>
inline 108 const int mysize = size();
110 while ( pos<mysize && values_[pos].first>val ) pos++;
114 if ( mysize>=maxsize_ )
117 values_ += std::pair<VT,AVT>( val, aval );
121 values_.insert( pos, std::pair<VT,AVT>(val,aval) );
123 if ( mysize==maxsize_ )
124 values_.removeSingle(mysize);
AVT getAssociatedValue(int rank) const
Definition: toplist.h:66
bool getHighestValue(VT &) const
Definition: toplist.h:77
int isEmpty() const
Definition: toplist.h:43
bool getLowestValue(VT &) const
Definition: toplist.h:90
int size() const
Definition: toplist.h:71
TypeSet< std::pair< VT, AVT > > values_
Definition: toplist.h:48
VT getValue(int rank) const
Definition: toplist.h:61
void addValue(VT val, AVT aval)
Definition: toplist.h:105
Is a class that holds a "top N" list with the N highest (or lowest) values that is added...
Definition: houghtransform.h:21
Set of (small) copyable elements.
Definition: commontypes.h:26
const int maxsize_
Definition: toplist.h:49
TopList(int maxsize)
Definition: toplist.h:28
virtual ~TopList()
Definition: toplist.h:31
#define mClass(module)
Definition: commondefs.h:161
void reset()
Definition: toplist.h:54