Feature Selection ToolboxFST3 Library / Documentation

FST::Clonable Class Reference

Abstract class, defines interface for classes that may need to get cloned. More...

#include <clonable.hpp>

Inheritance diagram for FST::Clonable:

List of all members.

Public Member Functions

virtual Clonableclone () const =0
virtual Clonablesharing_clone () const =0
virtual Clonablestateless_clone () const =0
bool is_clone () const
bool is_sharing () const
bool is_sharing_clone () const
virtual std::ostream & print (std::ostream &os) const

Protected Member Functions

void set_cloned (const bool cloned=true)
void set_sharing (const bool sharing=true)
void set_sharing_cloned (const bool cloned=true, const bool sharing=true)

Private Attributes

bool _clone
bool _sharing

Friends

std::ostream & operator<< (std::ostream &os, const Clonable &cl)

Detailed Description

Abstract class, defines interface for classes that may need to get cloned.

(defined especially to support threading in Sequential_Step specializations)

Note:
Note that clonable objects may appear in threaded code - their output thus should be guarded using syncout class (see global.*pp)

Member Function Documentation

virtual Clonable* FST::Clonable::clone (  )  const [pure virtual]

create 1:1 independent clone of the current object

Implemented in FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >, FST::Data_Splitter< INTERVALCONTAINER, IDXTYPE >, FST::Classifier_kNN< RETURNTYPE, DATATYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR, DISTANCE >, FST::Classifier_Multinomial_NaiveBayes< RETURNTYPE, DATATYPE, REALTYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR >, FST::Classifier_Normal_Bayes< RETURNTYPE, DATATYPE, REALTYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR >, FST::Classifier_LIBSVM< RETURNTYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR >, FST::Criterion_Multinomial_Bhattacharyya< RETURNTYPE, DATATYPE, REALTYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR >, FST::Criterion_Negative< CRITERION, RETURNTYPE, SUBSET >, FST::Criterion_Normal_Bhattacharyya< RETURNTYPE, DATATYPE, REALTYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR >, FST::Criterion_Normal_Divergence< RETURNTYPE, DATATYPE, REALTYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR >, FST::Criterion_Normal_GMahalanobis< RETURNTYPE, DATATYPE, REALTYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR >, FST::Criterion_Subset_Size< RETURNTYPE, SUBSET >, FST::Criterion_Sum_Of_Weights< RETURNTYPE, DIMTYPE, SUBSET >, FST::Criterion_Wrapper< RETURNTYPE, SUBSET, CLASSIFIER, DATAACCESSOR >, FST::Criterion_Wrapper_Bias_Estimate< RETURNTYPE, SUBSET, CLASSIFIER, DATAACCESSOR >, FST::Distance_Euclid< DATATYPE, DIMTYPE, SUBSET >, FST::Distance_L1< DATATYPE, DIMTYPE, SUBSET >, FST::Distance_Lp< DATATYPE, REALTYPE, DIMTYPE, SUBSET, numerator, denominator >, FST::Result_Tracker< RETURNTYPE, SUBSET >, FST::Result_Tracker_Dupless< RETURNTYPE, IDXTYPE, DIMTYPE, SUBSET >, FST::Result_Tracker_Feature_Stats< RETURNTYPE, IDXTYPE, DIMTYPE, SUBSET >, FST::Result_Tracker_Regularizer< RETURNTYPE, IDXTYPE, DIMTYPE, SUBSET, CRITERION >, and FST::Result_Tracker_Stability_Evaluator< RETURNTYPE, IDXTYPE, DIMTYPE, SUBSET >.

virtual Clonable* FST::Clonable::sharing_clone (  )  const [pure 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

Implemented in FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >, FST::Data_Accessor_Splitting_MemARFF< DATATYPE, IDXTYPE, INTERVALCONTAINER >, FST::Data_Accessor_Splitting_MemTRN< DATATYPE, IDXTYPE, INTERVALCONTAINER >, FST::Data_Splitter< INTERVALCONTAINER, IDXTYPE >, FST::Classifier_kNN< RETURNTYPE, DATATYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR, DISTANCE >, FST::Classifier_Multinomial_NaiveBayes< RETURNTYPE, DATATYPE, REALTYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR >, FST::Classifier_Normal_Bayes< RETURNTYPE, DATATYPE, REALTYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR >, FST::Classifier_LIBSVM< RETURNTYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR >, FST::Criterion_Multinomial_Bhattacharyya< RETURNTYPE, DATATYPE, REALTYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR >, FST::Criterion_Negative< CRITERION, RETURNTYPE, SUBSET >, FST::Criterion_Normal_Bhattacharyya< RETURNTYPE, DATATYPE, REALTYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR >, FST::Criterion_Normal_Divergence< RETURNTYPE, DATATYPE, REALTYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR >, FST::Criterion_Normal_GMahalanobis< RETURNTYPE, DATATYPE, REALTYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR >, FST::Criterion_Subset_Size< RETURNTYPE, SUBSET >, FST::Criterion_Sum_Of_Weights< RETURNTYPE, DIMTYPE, SUBSET >, FST::Criterion_Wrapper< RETURNTYPE, SUBSET, CLASSIFIER, DATAACCESSOR >, FST::Criterion_Wrapper_Bias_Estimate< RETURNTYPE, SUBSET, CLASSIFIER, DATAACCESSOR >, FST::Distance< DATATYPE, DIMTYPE, SUBSET >, FST::Result_Tracker< RETURNTYPE, SUBSET >, FST::Result_Tracker_Dupless< RETURNTYPE, IDXTYPE, DIMTYPE, SUBSET >, FST::Result_Tracker_Feature_Stats< RETURNTYPE, IDXTYPE, DIMTYPE, SUBSET >, FST::Result_Tracker_Regularizer< RETURNTYPE, IDXTYPE, DIMTYPE, SUBSET, CRITERION >, and FST::Result_Tracker_Stability_Evaluator< RETURNTYPE, IDXTYPE, DIMTYPE, SUBSET >.

virtual Clonable* FST::Clonable::stateless_clone (  )  const [pure 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

Implemented in FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >, FST::Data_Splitter_5050< INTERVALCONTAINER, IDXTYPE >, FST::Data_Splitter_CV< INTERVALCONTAINER, IDXTYPE >, FST::Data_Splitter_Holdout< INTERVALCONTAINER, IDXTYPE >, FST::Data_Splitter_Leave1Out< INTERVALCONTAINER, IDXTYPE >, FST::Data_Splitter_TrainRandom_TestFixed< INTERVALCONTAINER, IDXTYPE, BINTYPE >, FST::Data_Splitter_RandomRandom< INTERVALCONTAINER, IDXTYPE, BINTYPE >, FST::Data_Splitter_Resub< INTERVALCONTAINER, IDXTYPE >, FST::Classifier_kNN< RETURNTYPE, DATATYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR, DISTANCE >, FST::Classifier_Multinomial_NaiveBayes< RETURNTYPE, DATATYPE, REALTYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR >, FST::Classifier_Normal_Bayes< RETURNTYPE, DATATYPE, REALTYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR >, FST::Classifier_LIBSVM< RETURNTYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR >, FST::Criterion_Multinomial_Bhattacharyya< RETURNTYPE, DATATYPE, REALTYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR >, FST::Criterion_Negative< CRITERION, RETURNTYPE, SUBSET >, FST::Criterion_Normal_Bhattacharyya< RETURNTYPE, DATATYPE, REALTYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR >, FST::Criterion_Normal_Divergence< RETURNTYPE, DATATYPE, REALTYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR >, FST::Criterion_Normal_GMahalanobis< RETURNTYPE, DATATYPE, REALTYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR >, FST::Criterion_Subset_Size< RETURNTYPE, SUBSET >, FST::Criterion_Sum_Of_Weights< RETURNTYPE, DIMTYPE, SUBSET >, FST::Criterion_Wrapper< RETURNTYPE, SUBSET, CLASSIFIER, DATAACCESSOR >, FST::Criterion_Wrapper_Bias_Estimate< RETURNTYPE, SUBSET, CLASSIFIER, DATAACCESSOR >, FST::Distance< DATATYPE, DIMTYPE, SUBSET >, FST::Result_Tracker< RETURNTYPE, SUBSET >, FST::Result_Tracker_Dupless< RETURNTYPE, IDXTYPE, DIMTYPE, SUBSET >, FST::Result_Tracker_Feature_Stats< RETURNTYPE, IDXTYPE, DIMTYPE, SUBSET >, FST::Result_Tracker_Regularizer< RETURNTYPE, IDXTYPE, DIMTYPE, SUBSET, CRITERION >, and FST::Result_Tracker_Stability_Evaluator< RETURNTYPE, IDXTYPE, DIMTYPE, SUBSET >.

bool FST::Clonable::is_clone (  )  const [inline]

check whether this instance is a clone

References _clone.


Member Data Documentation

bool FST::Clonable::_clone [private]

cloning indicator, should be set inside clone() and weak_clone()

Referenced by is_clone().


The documentation for this class was generated from the following file:

Generated on Thu Mar 31 11:38:14 2011 for FST3Library by  doxygen 1.6.1