Fishnet 2.0.1
Framework for Graph-Based Analysis of GIS Vector Data
Loading...
Searching...
No Matches
fishnet::Feature< G > Class Template Reference

Feature implementation storing a geometry and associated attributes. More...

#include <Feature.hpp>

Public Member Functions

constexpr Feature (const G &geometry)
 
constexpr Feature (G &&geometry)
 
template<IFieldDefinition FieldDef>
constexpr bool addAttribute (const FieldDef &fieldDefinition, math::convertible_without_loss< typename FieldDef::value_type > auto value) noexcept
 
constexpr bool hasAttribute (const IFieldDefinition auto &fieldDefinition) const noexcept
 
template<IFieldDefinition FieldDef>
constexpr fishnet::Option< typename FieldDef::value_type > getAttribute (const FieldDef &fieldDefinition) const noexcept
 
template<IFieldDefinition FieldDef>
constexpr void setAttribute (const FieldDef &fieldDefinition, math::convertible_without_loss< typename FieldDef::value_type > auto value) noexcept
 
constexpr void removeAttribute (const IFieldDefinition auto fieldDefinition) noexcept
 
template<geometry::AnyGeometry O>
constexpr void copyAttributes (const Feature< O > &source) noexcept
 
constexpr const G & getGeometry () const &noexcept
 
constexpr G & getGeometry () &noexcept
 
constexpr G && getGeometry () &&noexcept
 
constexpr bool operator== (const Feature< G > &feature) const noexcept
 

Friends

template<geometry::AnyGeometry O>
class Feature
 

Detailed Description

template<geometry::AnyGeometry G>
class fishnet::Feature< G >

Feature implementation storing a geometry and associated attributes.

Template Parameters
Ggeometry type. A feature only ever compares and copies what it stores, so this is util::Object rather than geometry::Geometry: that admits the geometries of the geometry module as well as a type erased one, which models no single shape and would be rejected by Geometry.

Constructor & Destructor Documentation

◆ Feature() [1/2]

template<geometry::AnyGeometry G>
constexpr fishnet::Feature< G >::Feature ( const G &  geometry)
inlineexplicitconstexpr

◆ Feature() [2/2]

template<geometry::AnyGeometry G>
constexpr fishnet::Feature< G >::Feature ( G &&  geometry)
inlineexplicitconstexpr

Member Function Documentation

◆ addAttribute()

template<geometry::AnyGeometry G>
template<IFieldDefinition FieldDef>
constexpr bool fishnet::Feature< G >::addAttribute ( const FieldDef &  fieldDefinition,
math::convertible_without_loss< typename FieldDef::value_type > auto  value 
)
inlineconstexprnoexcept

◆ copyAttributes()

template<geometry::AnyGeometry G>
template<geometry::AnyGeometry O>
constexpr void fishnet::Feature< G >::copyAttributes ( const Feature< O > &  source)
inlineconstexprnoexcept

◆ getAttribute()

template<geometry::AnyGeometry G>
template<IFieldDefinition FieldDef>
constexpr fishnet::Option< typename FieldDef::value_type > fishnet::Feature< G >::getAttribute ( const FieldDef &  fieldDefinition) const
inlineconstexprnoexcept

◆ getGeometry() [1/3]

template<geometry::AnyGeometry G>
constexpr G && fishnet::Feature< G >::getGeometry ( ) &&
inlineconstexprnoexcept

◆ getGeometry() [2/3]

template<geometry::AnyGeometry G>
constexpr G & fishnet::Feature< G >::getGeometry ( ) &
inlineconstexprnoexcept

◆ getGeometry() [3/3]

template<geometry::AnyGeometry G>
constexpr const G & fishnet::Feature< G >::getGeometry ( ) const &
inlineconstexprnoexcept

◆ hasAttribute()

template<geometry::AnyGeometry G>
constexpr bool fishnet::Feature< G >::hasAttribute ( const IFieldDefinition auto &  fieldDefinition) const
inlineconstexprnoexcept

◆ operator==()

template<geometry::AnyGeometry G>
constexpr bool fishnet::Feature< G >::operator== ( const Feature< G > &  feature) const
inlineconstexprnoexcept

◆ removeAttribute()

template<geometry::AnyGeometry G>
constexpr void fishnet::Feature< G >::removeAttribute ( const IFieldDefinition auto  fieldDefinition)
inlineconstexprnoexcept

◆ setAttribute()

template<geometry::AnyGeometry G>
template<IFieldDefinition FieldDef>
constexpr void fishnet::Feature< G >::setAttribute ( const FieldDef &  fieldDefinition,
math::convertible_without_loss< typename FieldDef::value_type > auto  value 
)
inlineconstexprnoexcept

Friends And Related Symbol Documentation

◆ Feature

template<geometry::AnyGeometry G>
template<geometry::AnyGeometry O>
friend class Feature
friend

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