1#ifndef FSTSEARCHSEQSTEP_H
2#define FSTSEARCHSEQSTEP_H
83template<
class RETURNTYPE,
typename DIMTYPE,
class SUBSET,
class CRITERION>
87template<
class RETURNTYPE,
typename DIMTYPE,
class SUBSET,
class CRITERION>
96template<
class RETURNTYPE,
typename DIMTYPE,
class SUBSET,
class CRITERION>
97class Sequential_Step {
99 friend std::ostream& operator<< <>(std::ostream& os,
const Sequential_Step<RETURNTYPE,DIMTYPE,SUBSET,CRITERION>& ss);
129 virtual std::ostream&
print(std::ostream& os)
const {
return os;}
145template<
class RETURNTYPE,
typename DIMTYPE,
class SUBSET,
class CRITERION>
146std::ostream&
operator<<(std::ostream& os,
const Sequential_Step<RETURNTYPE,DIMTYPE,SUBSET,CRITERION>& ss) {
Abstract class, defines interface for implementations of one selection step in sequential search type...
Definition seq_step.hpp:97
virtual std::ostream & print(std::ostream &os) const
writes a human-readable identification of the step and its configuration; base default writes nothing
Definition seq_step.hpp:129
std::shared_ptr< SUBSET > PSubset
shared pointer to a feature subset
Definition seq_step.hpp:102
OutputDetail _detail
the output detail level set via set_output_detail(); read by output_normal()/output_detailed()
Definition seq_step.hpp:141
bool output_normal() const
true unless output detail is SILENT
Definition seq_step.hpp:137
std::shared_ptr< Result_Tracker< RETURNTYPE, SUBSET > > PResultTracker
shared pointer to the result tracker enabled via enable_result_tracking()
Definition seq_step.hpp:103
void disable_result_tracking()
detaches any result tracker (result_tracker_active() then returns false)
Definition seq_step.hpp:132
PResultTracker _tracker
the assigned result tracker, or null (see enable_result_tracking()/result_tracker_active())
Definition seq_step.hpp:140
std::shared_ptr< CRITERION > PCriterion
shared pointer to the criterion this step evaluates candidates against
Definition seq_step.hpp:101
bool output_detailed() const
true only at the DETAILED output level
Definition seq_step.hpp:138
bool result_tracker_active() const
true if a result tracker was assigned via enable_result_tracking() and not since disabled
Definition seq_step.hpp:133
virtual bool evaluate_candidates(RETURNTYPE &result, const PSubset sub, const PCriterion crit, const DIMTYPE _generalization_level, std::ostream &os)=0
Performs one selection step: evaluates the candidate subsets reachable from sub and leaves the best o...
void set_output_detail(OutputDetail detail)
sets the amount of information that is logged to output stream throughout the course of search
Definition seq_step.hpp:135
void enable_result_tracking(PResultTracker tracker)
assigns a result tracker to this step, i.e., enables logging of all evaluated candidate subsets for f...
Definition seq_step.hpp:131
OutputDetail get_output_detail() const
the currently configured output detail level
Definition seq_step.hpp:136
FST4 specific error passing class.
The Feature Selection Toolbox 4 library: every library component – data access, criteria and classifi...
Definition data_accessor.hpp:80
OutputDetail
search algorithms' output extent
Definition global.hpp:67
@ NORMAL
informs about new found solutions and time elapsed etc.
Definition global.hpp:69
@ DETAILED
includes much detail including variable contents etc. (may render output unreadably cluttered)
Definition global.hpp:70
std::ostream & operator<<(std::ostream &os, const Data_Intervaller< CONTAINER, IDXTYPE > &ia)
Streams every contained interval as "si:<startidx>, c:<count>" lines to os.
Definition data_intervaller.hpp:152
Defines interface for classes that enable collecting multiple results.