OmniSciDB  f17484ade4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Column< TextEncodingDict > Struct Template Reference

#include <heavydbTypes.h>

+ Collaboration diagram for Column< TextEncodingDict >:

Public Member Functions

DEVICE Column (const Column &other)
 
DEVICE Column (TextEncodingDict *ptr, const int64_t num_rows, StringDictionaryProxy *string_dict_proxy)
 
DEVICE Column (std::vector< TextEncodingDict > &input_vec)
 
DEVICE TextEncodingDictoperator[] (const unsigned int index) const
 
DEVICE TextEncodingDictgetPtr () const
 
DEVICE int64_t size () const
 
DEVICE void setSize (int64_t num_rows)
 
DEVICE bool isNull (int64_t index) const
 
DEVICE void setNull (int64_t index)
 
DEVICE int32_t getDictDbId () const
 
DEVICE int32_t getDictId () const
 
DEVICE const std::string getString (int64_t index) const
 
DEVICE const TextEncodingDict getOrAddTransient (const std::string &str)
 
DEVICE Column< TextEncodingDict > & operator= (const Column< TextEncodingDict > &other)
 
std::string toString () const
 

Public Attributes

TextEncodingDictptr_
 
int64_t num_rows_
 
StringDictionaryProxystring_dict_proxy_
 

Detailed Description

template<>
struct Column< TextEncodingDict >

Definition at line 2357 of file heavydbTypes.h.

Constructor & Destructor Documentation

DEVICE Column< TextEncodingDict >::Column ( const Column< TextEncodingDict > &  other)
inline

Definition at line 2363 of file heavydbTypes.h.

2364  : ptr_(other.ptr_)
2365  , num_rows_(other.num_rows_)
2366  , string_dict_proxy_(other.string_dict_proxy_) {}
StringDictionaryProxy * string_dict_proxy_
int64_t num_rows_
TextEncodingDict * ptr_
DEVICE Column< TextEncodingDict >::Column ( TextEncodingDict ptr,
const int64_t  num_rows,
StringDictionaryProxy string_dict_proxy 
)
inline

Definition at line 2367 of file heavydbTypes.h.

2370  : ptr_(ptr), num_rows_(num_rows), string_dict_proxy_(string_dict_proxy) {}
StringDictionaryProxy * string_dict_proxy_
TextEncodingDict * ptr_
DEVICE Column< TextEncodingDict >::Column ( std::vector< TextEncodingDict > &  input_vec)
inline

Definition at line 2371 of file heavydbTypes.h.

2372  : ptr_(input_vec.data())
2373  , num_rows_(static_cast<int64_t>(input_vec.size()))
2374  , string_dict_proxy_(nullptr) {}
StringDictionaryProxy * string_dict_proxy_
TextEncodingDict * ptr_

Member Function Documentation

DEVICE int32_t Column< TextEncodingDict >::getDictDbId ( ) const
inline

Definition at line 2416 of file heavydbTypes.h.

2416  {
2418  }
StringDictionaryProxy * string_dict_proxy_
const shared::StringDictKey & getDictKey() const noexcept
DEVICE int32_t Column< TextEncodingDict >::getDictId ( ) const
inline

Definition at line 2419 of file heavydbTypes.h.

2419  {
2421  }
StringDictionaryProxy * string_dict_proxy_
const shared::StringDictKey & getDictKey() const noexcept
DEVICE const TextEncodingDict Column< TextEncodingDict >::getOrAddTransient ( const std::string &  str)
inline

Definition at line 2425 of file heavydbTypes.h.

Referenced by ct_string_concat__cpu_(), ct_substr__cpu_(), ct_synthesize_new_dict__cpu_(), ct_test_string_default_arg__cpu_(), decision_tree_reg_impl(), gbt_reg_fit_impl(), linear_reg_coefs__cpu_1(), linear_reg_fit_impl(), pca_fit_impl(), random_forest_reg_fit_impl(), and random_forest_reg_var_importance__cpu_1().

2425  {
2427  }
StringDictionaryProxy * string_dict_proxy_
int32_t getOrAddTransient(const std::string &)

+ Here is the caller graph for this function:

DEVICE TextEncodingDict* Column< TextEncodingDict >::getPtr ( ) const
inline

Definition at line 2396 of file heavydbTypes.h.

Referenced by get_column_metadata(), and get_column_min_max().

2396  {
2397  return ptr_;
2398  }
TextEncodingDict * ptr_

+ Here is the caller graph for this function:

DEVICE const std::string Column< TextEncodingDict >::getString ( int64_t  index) const
inline

Definition at line 2422 of file heavydbTypes.h.

Referenced by ct_binding_str_length__cpu_(), ct_substr__cpu_(), ct_test_string_default_arg__cpu_(), get_decision_trees__cpu_2(), linear_reg_coefs__cpu_2(), ml_reg_predict__cpu_template(), r2_score__cpu_template(), and random_forest_reg_var_importance__cpu_2().

2422  {
2423  return isNull(index) ? "" : string_dict_proxy_->getString(ptr_[index].value);
2424  }
std::string getString(int32_t string_id) const
StringDictionaryProxy * string_dict_proxy_
TextEncodingDict * ptr_
DEVICE bool isNull(int64_t index) const

+ Here is the caller graph for this function:

DEVICE bool Column< TextEncodingDict >::isNull ( int64_t  index) const
inline

Definition at line 2406 of file heavydbTypes.h.

References is_null().

Referenced by TableFunctions_Namespace::OneHotEncoder_Namespace::get_top_k_keys().

2406  {
2407  return is_null(ptr_[index].value);
2408  }
CONSTEXPR DEVICE bool is_null(const T &value)
TextEncodingDict * ptr_

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

DEVICE Column<TextEncodingDict>& Column< TextEncodingDict >::operator= ( const Column< TextEncodingDict > &  other)
inline

Definition at line 2431 of file heavydbTypes.h.

References ptr_, and size().

2431  {
2432 #ifndef __CUDACC__
2433  if (size() == other.size()) {
2434  memcpy(ptr_, other.ptr_, other.size() * sizeof(TextEncodingDict));
2435  } else {
2436  throw std::runtime_error("cannot copy assign columns with different sizes");
2437  }
2438 #else
2439  if (size() == other.size()) {
2440  for (unsigned int i = 0; i < size(); i++) {
2441  ptr_[i] = other[i];
2442  }
2443  } else {
2444  // TODO: set error
2445  }
2446 #endif
2447  return *this;
2448  }
TextEncodingDict * ptr_
DEVICE int64_t size() const

+ Here is the call graph for this function:

DEVICE TextEncodingDict& Column< TextEncodingDict >::operator[] ( const unsigned int  index) const
inline

Definition at line 2384 of file heavydbTypes.h.

References DEVICE, and set_null().

2384  {
2385  if (index >= num_rows_) {
2386 #ifndef __CUDACC__
2387  throw std::runtime_error("column buffer index is out of range");
2388 #else
2389  static DEVICE TextEncodingDict null_value;
2390  set_null(null_value.value);
2391  return null_value;
2392 #endif
2393  }
2394  return ptr_[index];
2395  }
#define DEVICE
CONSTEXPR DEVICE void set_null(T &value)
TextEncodingDict * ptr_

+ Here is the call graph for this function:

DEVICE void Column< TextEncodingDict >::setNull ( int64_t  index)
inline

Definition at line 2410 of file heavydbTypes.h.

References set_null().

Referenced by ct_binding_str_equals__cpu_(), ct_string_concat__cpu_(), and tf_torch_raster_obj_detect__cpu_template().

2410  {
2411  set_null(ptr_[index].value);
2412  }
CONSTEXPR DEVICE void set_null(T &value)
TextEncodingDict * ptr_

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

DEVICE void Column< TextEncodingDict >::setSize ( int64_t  num_rows)
inline

Definition at line 2402 of file heavydbTypes.h.

2402  {
2403  num_rows_ = num_rows;
2404  }
std::string Column< TextEncodingDict >::toString ( ) const
inline

Definition at line 2451 of file heavydbTypes.h.

References to_string(), toString(), and typeName().

2451  {
2452  return ::typeName(this) + "(ptr=" + ::toString(reinterpret_cast<void*>(ptr_)) +
2453  ", num_rows=" + std::to_string(num_rows_) + ")";
2454  }
std::string to_string(char const *&&v)
TextEncodingDict * ptr_
std::string typeName(const T *v)
Definition: toString.h:106
std::string toString() const

+ Here is the call graph for this function:

Member Data Documentation

int64_t Column< TextEncodingDict >::num_rows_

Definition at line 2359 of file heavydbTypes.h.

Definition at line 2358 of file heavydbTypes.h.

Referenced by operator=().


The documentation for this struct was generated from the following file: