45#ifndef DOXYGEN_SHOULD_SKIP_THIS
56 _ignored_cols_(from._ignored_cols_) {
57 GUM_CONS_CPY(DatabaseTable);
61 INLINE DatabaseTable::DatabaseTable(DatabaseTable&& from) noexcept :
62 IDatabaseTable< DBTranslatedValue >(std::move(from)),
63 _translators_(std::move(from._translators_)),
64 _ignored_cols_(std::move(from._ignored_cols_)) {
65 GUM_CONS_MOV(DatabaseTable);
69 INLINE DatabaseTable::~DatabaseTable() { GUM_DESTRUCTOR(DatabaseTable); }
75 INLINE
typename DatabaseTable::template DBVector< std::size_t >
76 DatabaseTable::_getKthIndices_(
const std::size_t k,
const bool k_is_input_col)
const {
77 const std::size_t nb_trans = _translators_.size();
78 if (!k_is_input_col) {
79 if (k < nb_trans)
return DBVector< std::size_t >{k};
82 DBVector< std::size_t > trans;
83 for (std::size_t i = std::size_t(0), kk = nb_trans - 1; i < nb_trans; ++i, --kk) {
84 if (_translators_.inputColumn(kk) == k) trans.push_back(kk);
91 INLINE
const DBTranslatorSet& DatabaseTable::translatorSet()
const {
return _translators_; }
98 INLINE std::vector< std::size_t > DatabaseTable::domainSizes()
const {
99 const std::size_t nb_trans = _translators_.size();
100 std::vector< std::size_t > dom(nb_trans);
101 for (std::size_t i = std::size_t(0); i < nb_trans; ++i) {
102 dom[i] = _translators_.domainSize(i);
108 INLINE
void DatabaseTable::reorder() {
109 const std::size_t nb_trans = _translators_.size();
110 for (std::size_t i = std::size_t(0); i < nb_trans; ++i)
The class representing a tabular database as used by learning tasks.
DatabaseTable(const MissingValType &missing_symbols, const DBTranslatorSet &translators=DBTranslatorSet())
default constructor
The common class for the tabular database tables.
The class representing a tabular database stored in RAM.
include the inlined functions if necessary
gum is the global namespace for all aGrUM entities
The union class for storing the translated values in learning databases.