OmniSciDB  471d68cefb
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
anonymous_namespace{ArrowImporter.h}::ArrowValue< float > Struct Template Reference

#include <ArrowImporter.h>

+ Inheritance diagram for anonymous_namespace{ArrowImporter.h}::ArrowValue< float >:
+ Collaboration diagram for anonymous_namespace{ArrowImporter.h}::ArrowValue< float >:

Public Types

using VALUE_TYPE = float
 

Public Member Functions

 ArrowValue (const DataBufferBase &data, const VALUE_TYPE &v)
 
template<typename DATA_TYPE >
 operator DATA_TYPE () const
 
- Public Member Functions inherited from anonymous_namespace{ArrowImporter.h}::ArrowValueBase< float >
 ArrowValueBase (const DataBufferBase &data, const float &v)
 
int64_t resolve_time (const float &v, std::enable_if_t< enabled > *=0) const
 
int64_t resolve_time (const float &v, std::enable_if_t<!enabled > *=0) const
 

Additional Inherited Members

- Public Attributes inherited from anonymous_namespace{ArrowImporter.h}::ArrowValueBase< float >
const DataBufferBasedata
 
const float v
 
const int32_t dimension
 

Detailed Description

template<>
struct anonymous_namespace{ArrowImporter.h}::ArrowValue< float >

Definition at line 313 of file ArrowImporter.h.

Member Typedef Documentation

using anonymous_namespace{ArrowImporter.h}::ArrowValue< float >::VALUE_TYPE = float

Definition at line 314 of file ArrowImporter.h.

Constructor & Destructor Documentation

anonymous_namespace{ArrowImporter.h}::ArrowValue< float >::ArrowValue ( const DataBufferBase data,
const VALUE_TYPE v 
)
inline

Definition at line 315 of file ArrowImporter.h.

Member Function Documentation

template<typename DATA_TYPE >
anonymous_namespace{ArrowImporter.h}::ArrowValue< float >::operator DATA_TYPE ( ) const
inlineexplicit

Definition at line 319 of file ArrowImporter.h.

References to_string().

319  {
320  if constexpr (std::is_integral<DATA_TYPE>::value) { // NOLINT
321  const auto ti = data.cd->columnType;
322  DATA_TYPE v = ti.is_decimal() ? this->v * pow(10, ti.get_scale()) : this->v;
323  if (!(std::numeric_limits<DATA_TYPE>::lowest() < v &&
324  v <= std::numeric_limits<DATA_TYPE>::max())) {
325  data_conversion_error<DATA_TYPE>(v, data.cd, data.bad_rows_tracker);
326  }
327  return v;
328  } else if constexpr (std::is_floating_point<DATA_TYPE>::value) { // NOLINT
329  return v;
330  } else if constexpr (std::is_same<DATA_TYPE, std::string>::value) { // NOLINT
331  return std::to_string(v);
332  }
333  }
std::string to_string(char const *&&v)
import_export::BadRowsTracker *const bad_rows_tracker
SQLTypeInfo columnType

+ Here is the call graph for this function:


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