18 #ifndef __DATA_SOURCE_MODIFIERS_CSV_MODIFIER_H__
19 #define __DATA_SOURCE_MODIFIERS_CSV_MODIFIER_H__
21 #include "services/daal_string.h"
22 #include "data_management/data_source/modifiers/modifier.h"
26 namespace data_management
51 class ConfigIface :
public modifiers::ConfigIface
59 virtual features::FeatureType getInputFeatureDetectedType(
size_t inputFeatureIndex)
const = 0;
67 class Config :
public Base,
public ConfigIface { };
73 class ContextIface :
public modifiers::ContextIface
80 virtual size_t getNumberOfTokens()
const = 0;
87 virtual services::StringView getToken(
size_t index)
const = 0;
95 class Context :
public Base,
public ContextIface
105 T getTokenAs(
size_t index)
const;
112 class FeatureModifierIface :
public modifiers::FeatureModifierIface<Config, Context> { };
113 typedef services::SharedPtr<FeatureModifierIface> FeatureModifierIfacePtr;
119 class FeatureModifier :
public Base,
public FeatureModifierIface
126 virtual void initialize(Config &config) DAAL_C11_OVERRIDE { }
132 virtual void finalize(Config &config) DAAL_C11_OVERRIDE { }
134 typedef services::SharedPtr<FeatureModifier> FeatureModifierPtr;
140 inline float Context::getTokenAs<float>(
size_t index)
const
142 return (
float)services::daal_string_to_float(getToken(index).c_str(), 0);
146 inline double Context::getTokenAs<double>(
size_t index)
const
148 return (
double)services::daal_string_to_float(getToken(index).c_str(), 0);
152 inline services::StringView Context::getTokenAs<services::StringView>(
size_t index)
const
154 return getToken(index);
158 inline std::string Context::getTokenAs<std::string>(
size_t index)
const
160 services::StringView token = getToken(index);
161 return std::string(token.begin(), token.end());
167 using interface1::Config;
168 using interface1::Context;
169 using interface1::FeatureModifierIface;
170 using interface1::FeatureModifierIfacePtr;
171 using interface1::FeatureModifier;
172 using interface1::FeatureModifierPtr;
daal::data_management::modifiers::csv::interface1::Context::getTokenAs
T getTokenAs(size_t index) const
daal::data_management::modifiers::csv::interface1::ContextIface::getToken
virtual services::StringView getToken(size_t index) const =0
daal::Base
Base class for Intel(R) Data Analytics Acceleration Library objects
Definition: base.h:41
daal::data_management::modifiers::csv::interface1::ContextIface
Abstract class that defines interface of modifier context.
Definition: csv/modifier.h:73
daal::data_management::modifiers::csv::interface1::FeatureModifier::initialize
virtual void initialize(Config &config) DAAL_C11_OVERRIDE
Definition: csv/modifier.h:126
daal::data_management::modifiers::csv::interface1::FeatureModifier
Base class for feature modifier, intended for inheritance from the user side.
Definition: csv/modifier.h:119
daal::data_management::modifiers::csv::interface1::Context
Base class that represents modifier context, object of that class is passed to the modifier as an arg...
Definition: csv/modifier.h:95
daal::data_management::modifiers::csv::interface1::ContextIface::getNumberOfTokens
virtual size_t getNumberOfTokens() const =0
daal::data_management::modifiers::csv::interface1::FeatureModifier::finalize
virtual void finalize(Config &config) DAAL_C11_OVERRIDE
Definition: csv/modifier.h:132
daal::data_management::modifiers::csv::interface1::ConfigIface
Abstract class that defines interface of modifier configuration.
Definition: csv/modifier.h:51
daal::data_management::modifiers::csv::interface1::Config
Base class that represents modifier configuration, object of that class is passed to the modifier on ...
Definition: csv/modifier.h:67
daal::data_management::modifiers::csv::interface1::ConfigIface::getInputFeatureDetectedType
virtual features::FeatureType getInputFeatureDetectedType(size_t inputFeatureIndex) const =0
daal::data_management::modifiers::csv::interface1::FeatureModifierIface
Specialization of modifiers::FeatureModifierIface for CSV feature modifier.
Definition: csv/modifier.h:112