1 #ifndef OSMSCOUT_IMPORT_RAWRELATION_H 2 #define OSMSCOUT_IMPORT_RAWRELATION_H 24 #include <unordered_map> 52 ObjectOSMRef GetObjectOSMRef()
const;
57 FeatureValueBuffer featureValueBuffer;
63 RawRelation() =
default;
72 return featureValueBuffer.GetType();
77 return featureValueBuffer.GetType()->GetFeatureCount();
82 return featureValueBuffer.HasFeature(idx);
85 inline const FeatureInstance&
GetFeature(
size_t idx)
const 87 return featureValueBuffer.GetType()->GetFeature(idx);
92 return featureValueBuffer.GetValue(idx);
97 return featureValueBuffer;
100 void SetId(
OSMId id);
104 const TagRegistry& tagRegistry,
106 void Read(
const TypeConfig& typeConfig,
107 FileScanner& scanner);
108 void Write(
const TypeConfig& typeConfig,
109 FileWriter& writer)
const;
MemberType
Definition: RawRelation.h:40
const FeatureValueBuffer & GetFeatureValueBuffer() const
Definition: RawRelation.h:95
int64_t OSMId
Definition: OSMScoutTypes.h:34
Definition: RawRelation.h:46
TypeInfoRef GetType() const
Definition: RawRelation.h:70
bool HasFeature(size_t idx) const
Definition: RawRelation.h:80
std::vector< Member > members
Definition: RawRelation.h:60
OSMId id
Definition: RawRelation.h:49
std::string role
Definition: RawRelation.h:50
MemberType type
Definition: RawRelation.h:48
size_t GetFeatureCount() const
Definition: RawRelation.h:75
Definition: TypeFeature.h:40
FeatureValue * GetFeatureValue(size_t idx) const
Definition: RawRelation.h:90
#define CLASS_FINAL
Definition: Compiler.h:26
Definition: TagErrorReporter.h:32
OSMId GetId() const
Definition: RawRelation.h:65
std::shared_ptr< RawRelation > RawRelationRef
Definition: RawRelation.h:112
std::shared_ptr< TypeInfo > TypeInfoRef
Definition: TypeConfig.h:58
const FeatureInstance & GetFeature(size_t idx) const
Definition: RawRelation.h:85
std::unordered_map< TagId, std::string > TagMap
Definition: Tag.h:41