Skip to content

Commit

Permalink
Comply with C.128
Browse files Browse the repository at this point in the history
  • Loading branch information
XanthosXanthopoulos committed Jan 3, 2025
1 parent cd858c8 commit 6f4d6a2
Showing 1 changed file with 19 additions and 23 deletions.
42 changes: 19 additions & 23 deletions libtiledbsoma/src/soma/soma_geometry_column.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,84 +65,80 @@ class SOMAGeometryColumn : public SOMAColumn {
: dimensions(dimensions)
, attribute(attribute){};

virtual inline std::string name() const override {
inline std::string name() const override {
return SOMA_GEOMETRY_COLUMN_NAME;
}

virtual inline bool isIndexColumn() const override {
inline bool isIndexColumn() const override {
return true;
}

virtual inline void select_columns(
inline void select_columns(
const std::unique_ptr<ManagedQuery>& query,
bool if_not_empty = false) const override {
query->select_columns(std::vector({attribute.name()}), if_not_empty);
};

virtual inline soma_column_datatype_t type() const override {
inline soma_column_datatype_t type() const override {
return soma_column_datatype_t::SOMA_COLUMN_GEOMETRY;
}

virtual inline std::optional<tiledb_datatype_t> domain_type()
const override {
inline std::optional<tiledb_datatype_t> domain_type() const override {
return dimensions.front().type();
}

virtual inline std::optional<tiledb_datatype_t> data_type() const override {
inline std::optional<tiledb_datatype_t> data_type() const override {
return attribute.type();
}

virtual inline std::optional<std::vector<Dimension>> tiledb_dimensions()
override {
inline std::optional<std::vector<Dimension>> tiledb_dimensions() override {
return dimensions;
}

virtual inline std::optional<std::vector<Attribute>> tiledb_attributes()
override {
inline std::optional<std::vector<Attribute>> tiledb_attributes() override {
return std::vector({attribute});
}

virtual inline std::optional<std::vector<Enumeration>> tiledb_enumerations()
inline std::optional<std::vector<Enumeration>> tiledb_enumerations()
override {
return std::nullopt;
}

virtual ArrowArray* arrow_domain_slot(
ArrowArray* arrow_domain_slot(
const SOMAContext& ctx,
Array& array,
enum Domainish kind) const override;

virtual ArrowSchema* arrow_schema_slot(
ArrowSchema* arrow_schema_slot(
const SOMAContext& ctx, Array& array) override;

protected:
virtual void _set_dim_points(
void _set_dim_points(
const std::unique_ptr<ManagedQuery>& query,
const SOMAContext& ctx,
const std::any& points) const override;

virtual void _set_dim_ranges(
void _set_dim_ranges(
const std::unique_ptr<ManagedQuery>& query,
const SOMAContext& ctx,
const std::any& ranges) const override;

virtual void _set_current_domain_slot(
void _set_current_domain_slot(
NDRectangle& rectangle,
std::span<const std::any> new_current_domain) const override;

virtual std::pair<bool, std::string> _can_set_current_domain_slot(
std::pair<bool, std::string> _can_set_current_domain_slot(
std::optional<NDRectangle>& rectangle,
std::span<const std::any> new_current_domain) const override;

virtual std::any _core_domain_slot() const override;
std::any _core_domain_slot() const override;

virtual std::any _non_empty_domain_slot(Array& array) const override;
std::any _non_empty_domain_slot(Array& array) const override;

virtual std::any _core_current_domain_slot(
std::any _core_current_domain_slot(
const SOMAContext& ctx, Array& array) const override;

virtual std::any _core_current_domain_slot(
NDRectangle& ndrect) const override;
std::any _core_current_domain_slot(NDRectangle& ndrect) const override;

private:
/**
Expand Down

0 comments on commit 6f4d6a2

Please sign in to comment.