34 #ifndef GUM_LEARNING_DB_TRANSLATOR_SET_H 35 #define GUM_LEARNING_DB_TRANSLATOR_SET_H 39 #include <type_traits> 111 template <
template <
typename >
class ALLOC = std::allocator >
195 template <
template <
template <
typename >
class >
class Translator >
197 const std::size_t column,
198 const bool unique_column = true);
214 template < template < typename > class XALLOC >
217 const std::size_t column,
218 const std::vector< std::string, XALLOC< std::string > >& missing_symbols,
219 const bool unique_column = true);
234 const std::size_t column,
235 const bool unique_column = true);
251 void
eraseTranslator(const std::size_t k, const bool k_is_input_col = false);
285 template < template < typename > class OTHER_ALLOC >
287 const std::vector< std::string, OTHER_ALLOC< std::string > >& row,
288 const std::size_t k) const;
301 template < template < typename > class OTHER_ALLOC >
303 const std::vector< std::string, OTHER_ALLOC< std::string > >& row,
304 const std::size_t k) const;
317 std::string
translateBack(const DBTranslatedValue translated_val,
318 const std::size_t k) const;
333 const std::size_t k) const;
346 const std::size_t k) const;
358 const std::size_t k) const;
364 std::size_t
domainSize(const std::size_t k) const;
427 ALLOC< std::pair< std::size_t, std::size_t > > >
435 ALLOC< std::pair< std::size_t, std::size_t > > >
444 std::size_t
inputColumn(const std::size_t k) const;
462 std::size_t
size() const;
468 const std::vector< DBTranslator< ALLOC >*, ALLOC< DBTranslator< ALLOC >* > >&
473 #ifndef DOXYGEN_SHOULD_SKIP_THIS 477 std::vector< DBTranslator< ALLOC >*, ALLOC< DBTranslator< ALLOC >* > >
482 std::vector< std::size_t, ALLOC< std::size_t > > __columns;
485 std::size_t __highest_column{std::size_t(0)};
HashTable< std::size_t, std::size_t, ALLOC< std::pair< std::size_t, std::size_t > > > reorder(const std::size_t k)
performs a reordering of the dictionary and returns a mapping from the old translated values to the n...
const Variable & variable(const std::size_t k) const
returns the variable stored into the kth translator
Base class for every random variable.
ALLOC< DBTranslatedValue > allocator_type
type for the allocators passed in arguments of methods
const std::vector< DBTranslator< ALLOC > *, ALLOC< DBTranslator< ALLOC > *> > & translators() const
returns the set of translators
void eraseTranslator(const std::size_t k, const bool k_is_input_col=false)
erases either the kth translator or those parsing the kth column of the input database ...
DBTranslatorSet< ALLOC > & operator=(const DBTranslatorSet< ALLOC > &from)
copy operator
std::string translateBack(const DBTranslatedValue translated_val, const std::size_t k) const
returns the original string that was translated into translated_val
const Variable & variableSafe(const std::size_t k) const
returns the variable stored into the kth translator
std::size_t domainSizeSafe(const std::size_t k) const
returns the domain size of the variable stored into the kth translator
std::size_t highestInputColumn() const
returns the largest input database column index read by the translators
The databases' cell translators for range variables.
DBTranslator< ALLOC > & translatorSafe(const std::size_t k)
returns the kth translator
The databases' cell translators for continuous variables.
typename DBTranslator< ALLOC >::allocator_type allocator_type
type for the allocators passed in arguments of methods
The databases' cell translators for discretized variables.
std::size_t inputColumnSafe(const std::size_t k) const
returns the column of the input database that will be read by the kth translator
std::size_t nbTranslators() const
returns the number of translators stored into the set
gum is the global namespace for all aGrUM entities
The union class for storing the translated values in learning databases.
The class for generic Hash Tables.
DBTranslatorSet(const allocator_type &alloc=allocator_type())
default constructor
DBTranslator< ALLOC > & operator[](const std::size_t k)
returns the kth translator
std::size_t domainSize(const std::size_t k) const
returns the domain size of the variable stored into the kth translator
DBTranslator< ALLOC > & translator(const std::size_t k)
returns the kth translator
bool isMissingValueSafe(const DBTranslatedValue translated_val, const std::size_t k) const
similar to method isMissingValue, except that it checks that the kth translator exists ...
allocator_type getAllocator() const
returns the allocator used by the translator set
The base class for all the tabular database cell translators.
std::size_t insertTranslator(const Translator< ALLOC > &translator, const std::size_t column, const bool unique_column=true)
inserts a new translator at the end of the translator set
bool needsReordering(const std::size_t k) const
indicates whether a reordering is needed to make the kth translator sorted
virtual ~DBTranslatorSet()
destructor
std::size_t inputColumn(const std::size_t k) const
returns the column of the input database that will be read by the kth translator
std::string translateBackSafe(const DBTranslatedValue translated_val, const std::size_t k) const
similar to method translateBack, except that it checks that the kth translator exists ...
std::size_t size() const
returns the number of translators stored into the set
DBTranslatedValue translateSafe(const std::vector< std::string, OTHER_ALLOC< std::string > > &row, const std::size_t k) const
similar to method translate, except that it checks that the kth translator exists ...
bool needsReorderingSafe(const std::size_t k) const
same as method needsReordering but checks that the kth translator exists
DBTranslatedValue translate(const std::vector< std::string, OTHER_ALLOC< std::string > > &row, const std::size_t k) const
ask the kth translator to translate a string in a row of the database
void clear()
remove all the translators
The base class for all the tabular databases' cell translators.
the class for packing together the translators used to preprocess the datasets
HashTable< std::size_t, std::size_t, ALLOC< std::pair< std::size_t, std::size_t > > > reorderSafe(const std::size_t k)
same as method reorder but checks that the kth translator exists
virtual DBTranslatorSet< ALLOC > * clone() const
virtual copy constructor
The databases' cell translators for labelized variables.
The set of translators stored into a row filter.
bool isMissingValue(const DBTranslatedValue translated_val, const std::size_t k) const
indicates whether the kth translator considers a translated_val as a missing value ...