Collects multiple results, avoiding duplicates. More...
#include <result_tracker_dupless.hpp>
Public Types | |
typedef Result_Tracker < RETURNTYPE, SUBSET > | parent |
typedef parent::ResultRec | ResultRec |
typedef parent::PResultRec | PResultRec |
typedef boost::shared_ptr< SUBSET > | PSubset |
typedef std::list< ResultRec > ::const_iterator | CONSTRESULTSITER |
typedef std::list< ResultRec > ::iterator | RESULTSITER |
Public Member Functions | |
Result_Tracker_Dupless (const IDXTYPE capacity_limit=0) | |
Result_Tracker_Dupless (const Result_Tracker_Dupless &rtd) | |
virtual bool | add (const RETURNTYPE value, const PSubset sub) |
virtual void | clear () |
virtual long | size () const |
virtual long | size (const RETURNTYPE margin) const |
virtual bool | get_first (PResultRec &r) |
iterator | |
virtual bool | get_next (PResultRec &r) |
iterator | |
virtual void | join (Result_Tracker< RETURNTYPE, SUBSET > &src) |
adds contents from another tracker to this one | |
void | set_inclusion_margin (const RETURNTYPE margin=0) |
restrict adding to only subsets with criterion value within given distance (margin) from best known | |
void | set_inclusion_cardinality_restriction (const DIMTYPE d) |
for d>0 restricts adding only to subsets of size d, for d=0 subset size restriction is removed | |
Result_Tracker_Dupless * | clone () const |
Result_Tracker_Dupless * | sharing_clone () const |
Result_Tracker_Dupless * | stateless_clone () const |
virtual std::ostream & | print (std::ostream &os) const |
RESULTSITER | begin () |
RESULTSITER | end () |
Protected Attributes | |
std::list< ResultRec > | results |
RETURNTYPE | _margin |
DIMTYPE | _restrict_to_d |
const IDXTYPE | _capacity_limit |
Private Attributes | |
RESULTSITER | getiter |
Collects multiple results, avoiding duplicates.
See Result_Tracker description why this is needed. Upon adding, sorts results descending according to value, in case of ties smaller subset is considered better.
demo40.cpp, demo40t.cpp, demo41.cpp, demo42.cpp, demo43.cpp, and demo60.cpp.
Result_Tracker_Dupless* FST::Result_Tracker_Dupless< RETURNTYPE, IDXTYPE, DIMTYPE, SUBSET >::clone | ( | ) | const [inline, virtual] |
create 1:1 independent clone of the current object
Implements FST::Result_Tracker< RETURNTYPE, SUBSET >.
Reimplemented in FST::Result_Tracker_Feature_Stats< RETURNTYPE, IDXTYPE, DIMTYPE, SUBSET >, and FST::Result_Tracker_Regularizer< RETURNTYPE, IDXTYPE, DIMTYPE, SUBSET, CRITERION >.
Referenced by FST::Result_Tracker_Dupless< RETURNTYPE, IDXTYPE, DIMTYPE, SUBSET >::stateless_clone().
Result_Tracker_Dupless* FST::Result_Tracker_Dupless< RETURNTYPE, IDXTYPE, DIMTYPE, SUBSET >::sharing_clone | ( | ) | const [inline, virtual] |
create equivalent clone of the current object, parmitting read-only access to structures in the source object (allows referencing instead of copying of large memory structures). may be faster and save space but requires more caution with respect to concurrency Use example: Data_Accessor memory data representation cloning
Implements FST::Result_Tracker< RETURNTYPE, SUBSET >.
Reimplemented in FST::Result_Tracker_Feature_Stats< RETURNTYPE, IDXTYPE, DIMTYPE, SUBSET >, and FST::Result_Tracker_Regularizer< RETURNTYPE, IDXTYPE, DIMTYPE, SUBSET, CRITERION >.
Result_Tracker_Dupless< RETURNTYPE, IDXTYPE, DIMTYPE, SUBSET > * FST::Result_Tracker_Dupless< RETURNTYPE, IDXTYPE, DIMTYPE, SUBSET >::stateless_clone | ( | ) | const [inline, virtual] |
create clone of the current object, ignoring internal temporary structures to save speed. Does not replicate exact object state. The clone must be used carefully in a way that ensures internal structure re-initialization Use example: Data_Splitter cloning or Classifier_SVM cloning due to inability to clone external structures defined in LibSVM
Implements FST::Result_Tracker< RETURNTYPE, SUBSET >.
Reimplemented in FST::Result_Tracker_Feature_Stats< RETURNTYPE, IDXTYPE, DIMTYPE, SUBSET >, and FST::Result_Tracker_Regularizer< RETURNTYPE, IDXTYPE, DIMTYPE, SUBSET, CRITERION >.
References FST::Result_Tracker_Dupless< RETURNTYPE, IDXTYPE, DIMTYPE, SUBSET >::clone().