OmniSciDB  cde582ebc3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GeoTargetValueSerializer< kPOINT > Struct Template Reference

#include <ResultSetGeoSerialization.h>

Static Public Member Functions

static TargetValue serialize (const SQLTypeInfo &geo_ti, std::array< VarlenDatumPtr, 1 > &vals)
 

Detailed Description

template<>
struct GeoTargetValueSerializer< kPOINT >

Definition at line 77 of file ResultSetGeoSerialization.h.

Member Function Documentation

static TargetValue GeoTargetValueSerializer< kPOINT >::serialize ( const SQLTypeInfo geo_ti,
std::array< VarlenDatumPtr, 1 > &  vals 
)
inlinestatic

Definition at line 78 of file ResultSetGeoSerialization.h.

References Geospatial::decompress_coords< double, SQLTypeInfo >(), and SQLTypeInfo::get_notnull().

79  {
80  if (!geo_ti.get_notnull() && vals[0]->is_null) {
81  // Alternatively, could decompress vals[0] and check for NULL array sentinel
82  return GeoTargetValue(boost::optional<GeoPointTargetValue>{});
83  }
84  return GeoTargetValue(
85  boost::optional<GeoPointTargetValue>{*decompress_coords<double, SQLTypeInfo>(
86  geo_ti, vals[0]->pointer, vals[0]->length)});
87  }
std::shared_ptr< std::vector< double > > decompress_coords< double, SQLTypeInfo >(const SQLTypeInfo &geo_ti, const int8_t *coords, const size_t coords_sz)
boost::optional< boost::variant< GeoPointTargetValue, GeoLineStringTargetValue, GeoPolyTargetValue, GeoMultiPolyTargetValue >> GeoTargetValue
Definition: TargetValue.h:159
HOST DEVICE bool get_notnull() const
Definition: sqltypes.h:336

+ Here is the call graph for this function:


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