Implements data access to data cached entirely in memory, concrete file type support is delegated to derived classes. More...
#include <data_accessor_splitting_mem.hpp>
Public Types | |
typedef Data_Accessor_Splitting < DATATYPE, IDXTYPE, INTERVALCONTAINER > | DAS |
typedef boost::shared_ptr < Data_Scaler< DATATYPE > > | PScaler |
typedef DAS::PPattern | PPattern |
typedef DAS::PSplitters | PSplitters |
Public Member Functions | |
Data_Accessor_Splitting_Mem (const string _filename, const PSplitters _dsp, const PScaler _dsc) | |
virtual void | initialize () |
to be called after object creation (for initialization of data file access etc.) | |
virtual bool | getFirstBlock (const DataPart ofwhat, PPattern &firstpattern, IDXTYPE &patterns, const unsigned int loopdepth=0) |
returns pointer to first consecutive block of data of requested DataPart type in the current split (access iteration) | |
virtual bool | getNextBlock (const DataPart ofwhat, PPattern &firstpattern, IDXTYPE &patterns, const unsigned int loopdepth=0) |
returns pointer to next consecutive block of data of requested DataPart type in the current split (access iteration) | |
Data_Accessor_Splitting_Mem * | clone () const |
Data_Accessor_Splitting_Mem * | sharing_clone () const =0 |
Data_Accessor_Splitting_Mem * | stateless_clone () const |
virtual std::ostream & | print (std::ostream &os) const |
Protected Member Functions | |
Data_Accessor_Splitting_Mem (const Data_Accessor_Splitting_Mem &damt, int) | |
virtual void | initial_data_read ()=0 |
virtual void | initial_file_prepare ()=0 |
virtual unsigned int | file_getNoOfClasses () const =0 |
virtual unsigned int | file_getNoOfFeatures () const =0 |
virtual IDXTYPE | file_getClassSize (unsigned int cls) const =0 |
void | initial_data_scaling () |
Protected Attributes | |
PScaler | dsc |
string | filename |
IDXTYPE | datasize |
boost::shared_array< DATATYPE > | data |
vector< IDXTYPE > | _class_offset |
class start indexes (offsets) in whatever random-access data representation |
Implements data access to data cached entirely in memory, concrete file type support is delegated to derived classes.
void FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >::initialize | ( | ) | [inline, virtual] |
to be called after object creation (for initialization of data file access etc.)
References FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >::_class_offset, FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >::data, FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >::filename, FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >::initial_data_read(), FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >::initial_data_scaling(), and FST::Data_Accessor_Splitting< DATATYPE, IDXTYPE, INTERVALCONTAINER >::initialize().
Data_Accessor_Splitting_Mem* FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >::clone | ( | ) | const [inline, virtual] |
create 1:1 independent clone of the current object
Implements FST::Clonable.
Referenced by FST::Data_Accessor_Splitting_MemTRN< DATATYPE, IDXTYPE, INTERVALCONTAINER >::sharing_clone(), and FST::Data_Accessor_Splitting_MemARFF< DATATYPE, IDXTYPE, INTERVALCONTAINER >::sharing_clone().
Data_Accessor_Splitting_Mem* FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >::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
Implements FST::Clonable.
Implemented in FST::Data_Accessor_Splitting_MemARFF< DATATYPE, IDXTYPE, INTERVALCONTAINER >, and FST::Data_Accessor_Splitting_MemTRN< DATATYPE, IDXTYPE, INTERVALCONTAINER >.
Data_Accessor_Splitting_Mem* FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >::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::Clonable.
virtual void FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >::initial_data_read | ( | ) | [protected, pure virtual] |
Implemented in FST::Data_Accessor_Splitting_MemARFF< DATATYPE, IDXTYPE, INTERVALCONTAINER >, and FST::Data_Accessor_Splitting_MemTRN< DATATYPE, IDXTYPE, INTERVALCONTAINER >.
Referenced by FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >::initialize().
void FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >::initial_data_scaling | ( | ) | [inline, protected] |
References FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >::data, and FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >::dsc.
Referenced by FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >::initialize().
PScaler FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >::dsc [protected] |
Referenced by FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >::initial_data_scaling().
string FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >::filename [protected] |
Referenced by FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >::initialize().
boost::shared_array<DATATYPE> FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >::data [protected] |
Referenced by FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >::getFirstBlock(), FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >::getNextBlock(), FST::Data_Accessor_Splitting_MemTRN< DATATYPE, IDXTYPE, INTERVALCONTAINER >::initial_data_read(), FST::Data_Accessor_Splitting_MemARFF< DATATYPE, IDXTYPE, INTERVALCONTAINER >::initial_data_read(), FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >::initial_data_scaling(), and FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >::initialize().
vector<IDXTYPE> FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >::_class_offset [protected] |
class start indexes (offsets) in whatever random-access data representation
Referenced by FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >::getFirstBlock(), FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >::getNextBlock(), and FST::Data_Accessor_Splitting_Mem< DATATYPE, IDXTYPE, INTERVALCONTAINER >::initialize().