45#ifndef DOXYGEN_SHOULD_SKIP_THIS
64 _translators_(std::move(from._translators_)), _columns_(std::move(from._columns_)),
65 _highest_column_(from._highest_column_) {
66 GUM_CONS_MOV(DBTranslatorSet);
70 INLINE DBTranslatorSet* DBTranslatorSet::clone()
const {
return new DBTranslatorSet(*
this); }
73 INLINE DBTranslatorSet::~DBTranslatorSet() {
75 GUM_DESTRUCTOR(DBTranslatorSet);
79 INLINE DBTranslatorSet& DBTranslatorSet::operator=(DBTranslatorSet&& from) {
82 _translators_ = std::move(from._translators_);
83 _columns_ = std::move(from._columns_);
84 _highest_column_ = from._highest_column_;
91 INLINE DBTranslator& DBTranslatorSet::operator[](
const std::size_t k) {
92 return *(_translators_[k]);
96 INLINE
const DBTranslator& DBTranslatorSet::operator[](
const std::size_t k)
const {
97 return *(_translators_[k]);
101 INLINE std::size_t DBTranslatorSet::insertTranslator(
const Variable& var,
102 const std::size_t column,
103 const bool unique_column) {
104 const std::vector< std::string > missing;
105 return this->insertTranslator(var, column, missing, unique_column);
109 INLINE DBTranslatedValue DBTranslatorSet::translate(
const std::vector< std::string >& row,
110 const std::size_t k)
const {
111 return _translators_[k]->translate(row[_columns_[k]]);
115 INLINE DBTranslatedValue DBTranslatorSet::translateSafe(
const std::vector< std::string >& row,
116 const std::size_t k)
const {
117 if (_translators_.size() <= k)
120 return _translators_[k]->translate(row[_columns_[k]]);
124 INLINE
std::
string DBTranslatorSet::translateBack(const DBTranslatedValue translated_val,
125 const
std::
size_t k)
const {
126 return _translators_[k]->translateBack(translated_val);
130 INLINE std::string DBTranslatorSet::translateBackSafe(
const DBTranslatedValue translated_val,
131 const std::size_t k)
const {
132 if (_translators_.size() <= k)
135 return _translators_[k]->translateBack(translated_val);
140 INLINE
bool DBTranslatorSet::isMissingValue(const DBTranslatedValue translated_val,
141 const
std::
size_t k)
const {
142 return _translators_[k]->isMissingValue(translated_val);
147 INLINE
bool DBTranslatorSet::isMissingValueSafe(
const DBTranslatedValue translated_val,
148 const std::size_t k)
const {
149 if (_translators_.size() <= k)
152 return _translators_[k]->isMissingValue(translated_val);
156 INLINE DBTranslator& DBTranslatorSet::translator(const
std::
size_t k) {
157 return *(_translators_[k]);
161 INLINE
const DBTranslator& DBTranslatorSet::translator(
const std::size_t k)
const {
162 return *(_translators_[k]);
166 INLINE DBTranslator& DBTranslatorSet::translatorSafe(
const std::size_t k) {
167 if (_translators_.size() <= k)
170 return *(_translators_[k]);
174 INLINE const DBTranslator& DBTranslatorSet::translatorSafe(const
std::
size_t k)
const {
175 if (_translators_.size() <= k)
178 return *(_translators_[k]);
182 INLINE std::size_t DBTranslatorSet::domainSize(
const std::size_t k)
const {
183 return _translators_[k]->domainSize();
187 INLINE std::size_t DBTranslatorSet::domainSizeSafe(
const std::size_t k)
const {
188 if (_translators_.size() <= k)
191 return _translators_[k]->domainSize();
195 INLINE const Variable& DBTranslatorSet::variable(const
std::
size_t k)
const {
196 return *(_translators_[k]->variable());
200 INLINE
const Variable& DBTranslatorSet::variableSafe(
const std::size_t k)
const {
201 if (_translators_.size() <= k)
204 return *(_translators_[k]->variable());
209 INLINE
bool DBTranslatorSet::needsReordering(const
std::
size_t k)
const {
210 return _translators_[k]->needsReordering();
215 INLINE
bool DBTranslatorSet::needsReorderingSafe(
const std::size_t k)
const {
216 if (_translators_.size() <= k)
219 return _translators_[k]->needsReordering();
224 INLINE HashTable<
std::
size_t,
std::
size_t > DBTranslatorSet::reorder(const
std::
size_t k) {
225 return _translators_[k]->reorder();
230 INLINE HashTable< std::size_t, std::size_t > DBTranslatorSet::reorderSafe(
const std::size_t k) {
231 if (_translators_.size() <= k)
234 return _translators_[k]->reorder();
239 INLINE
std::
size_t DBTranslatorSet::inputColumn(const
std::
size_t k)
const {
245 INLINE std::size_t DBTranslatorSet::inputColumnSafe(
const std::size_t k)
const {
246 if (_translators_.size() <= k)
253 INLINE
std::
size_t DBTranslatorSet::highestInputColumn()
const {
return _highest_column_; }
256 INLINE std::size_t DBTranslatorSet::nbTranslators()
const {
return _columns_.size(); }
259 INLINE std::size_t DBTranslatorSet::size()
const {
return _columns_.size(); }
262 INLINE
const std::vector< DBTranslator* >& DBTranslatorSet::translators()
const {
263 return _translators_;
A class for storing several translators.
Exception : a looked-for element could not be found.
the class for packing together the translators used to preprocess the datasets
DBTranslatorSet()
default constructor
#define GUM_ERROR(type, msg)
include the inlined functions if necessary
gum is the global namespace for all aGrUM entities