43#ifndef DOXYGEN_SHOULD_SKIP_THIS
62 _translators_(std::move(from._translators_)), _columns_(std::move(from._columns_)),
63 _highest_column_(from._highest_column_) {
64 GUM_CONS_MOV(DBTranslatorSet);
68 INLINE DBTranslatorSet* DBTranslatorSet::clone()
const {
return new DBTranslatorSet(*
this); }
71 INLINE DBTranslatorSet::~DBTranslatorSet() {
73 GUM_DESTRUCTOR(DBTranslatorSet);
77 INLINE DBTranslatorSet& DBTranslatorSet::operator=(DBTranslatorSet&& from) {
80 _translators_ = std::move(from._translators_);
81 _columns_ = std::move(from._columns_);
82 _highest_column_ = from._highest_column_;
89 INLINE DBTranslator& DBTranslatorSet::operator[](
const std::size_t k) {
90 return *(_translators_[k]);
94 INLINE
const DBTranslator& DBTranslatorSet::operator[](
const std::size_t k)
const {
95 return *(_translators_[k]);
99 INLINE std::size_t DBTranslatorSet::insertTranslator(
const Variable& var,
100 const std::size_t column,
101 const bool unique_column) {
102 const std::vector< std::string > missing;
103 return this->insertTranslator(var, column, missing, unique_column);
107 INLINE DBTranslatedValue DBTranslatorSet::translate(
const std::vector< std::string >& row,
108 const std::size_t k)
const {
109 return _translators_[k]->translate(row[_columns_[k]]);
113 INLINE DBTranslatedValue DBTranslatorSet::translateSafe(
const std::vector< std::string >& row,
114 const std::size_t k)
const {
115 if (_translators_.size() <= k)
118 return _translators_[k]->translate(row[_columns_[k]]);
122 INLINE
std::
string DBTranslatorSet::translateBack(const DBTranslatedValue translated_val,
123 const
std::
size_t k)
const {
124 return _translators_[k]->translateBack(translated_val);
128 INLINE std::string DBTranslatorSet::translateBackSafe(
const DBTranslatedValue translated_val,
129 const std::size_t k)
const {
130 if (_translators_.size() <= k)
133 return _translators_[k]->translateBack(translated_val);
138 INLINE
bool DBTranslatorSet::isMissingValue(const DBTranslatedValue translated_val,
139 const
std::
size_t k)
const {
140 return _translators_[k]->isMissingValue(translated_val);
145 INLINE
bool DBTranslatorSet::isMissingValueSafe(
const DBTranslatedValue translated_val,
146 const std::size_t k)
const {
147 if (_translators_.size() <= k)
150 return _translators_[k]->isMissingValue(translated_val);
154 INLINE DBTranslator& DBTranslatorSet::translator(const
std::
size_t k) {
155 return *(_translators_[k]);
159 INLINE
const DBTranslator& DBTranslatorSet::translator(
const std::size_t k)
const {
160 return *(_translators_[k]);
164 INLINE DBTranslator& DBTranslatorSet::translatorSafe(
const std::size_t k) {
165 if (_translators_.size() <= k)
168 return *(_translators_[k]);
172 INLINE const DBTranslator& DBTranslatorSet::translatorSafe(const
std::
size_t k)
const {
173 if (_translators_.size() <= k)
176 return *(_translators_[k]);
180 INLINE std::size_t DBTranslatorSet::domainSize(
const std::size_t k)
const {
181 return _translators_[k]->domainSize();
185 INLINE std::size_t DBTranslatorSet::domainSizeSafe(
const std::size_t k)
const {
186 if (_translators_.size() <= k)
189 return _translators_[k]->domainSize();
193 INLINE const Variable& DBTranslatorSet::variable(const
std::
size_t k)
const {
194 return *(_translators_[k]->variable());
198 INLINE
const Variable& DBTranslatorSet::variableSafe(
const std::size_t k)
const {
199 if (_translators_.size() <= k)
202 return *(_translators_[k]->variable());
207 INLINE
bool DBTranslatorSet::needsReordering(const
std::
size_t k)
const {
208 return _translators_[k]->needsReordering();
213 INLINE
bool DBTranslatorSet::needsReorderingSafe(
const std::size_t k)
const {
214 if (_translators_.size() <= k)
217 return _translators_[k]->needsReordering();
222 INLINE HashTable<
std::
size_t,
std::
size_t > DBTranslatorSet::reorder(const
std::
size_t k) {
223 return _translators_[k]->reorder();
228 INLINE HashTable< std::size_t, std::size_t > DBTranslatorSet::reorderSafe(
const std::size_t k) {
229 if (_translators_.size() <= k)
232 return _translators_[k]->reorder();
237 INLINE
std::
size_t DBTranslatorSet::inputColumn(const
std::
size_t k)
const {
243 INLINE std::size_t DBTranslatorSet::inputColumnSafe(
const std::size_t k)
const {
244 if (_translators_.size() <= k)
251 INLINE
std::
size_t DBTranslatorSet::highestInputColumn()
const {
return _highest_column_; }
254 INLINE std::size_t DBTranslatorSet::nbTranslators()
const {
return _columns_.size(); }
257 INLINE std::size_t DBTranslatorSet::size()
const {
return _columns_.size(); }
260 INLINE
const std::vector< DBTranslator* >& DBTranslatorSet::translators()
const {
261 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