1 #ifndef OSMSCOUT_TYPEFEATURE_H 2 #define OSMSCOUT_TYPEFEATURE_H 25 #include <unordered_map> 50 virtual std::string
GetLabel(
const Locale &,
size_t )
const 67 virtual void Read(FileScanner& scanner) = 0;
74 virtual void Write(FileWriter& writer) = 0;
80 return !(*
this==other);
86 class FeatureValueBuffer;
87 class FeatureInstance;
101 std::unordered_map<std::string,size_t> labels;
102 std::unordered_map<std::string,size_t> flags;
103 std::unordered_map<std::string,std::string> descriptions;
106 void RegisterLabel(
size_t index,
107 const std::string& labelName);
109 void RegisterFlag(
size_t index,
110 const std::string& flagName);
121 virtual void Initialize(TagRegistry& tagRegistry) = 0;
123 void AddDescription(
const std::string& languageCode,
124 const std::string& description);
129 virtual std::string GetName()
const = 0;
167 return GetValueSize()>0;
175 return !labels.empty();
183 return !flags.empty();
191 bool GetLabelIndex(
const std::string& labelName,
192 size_t& index)
const;
199 bool GetFlagIndex(
const std::string& flagName,
200 size_t& index)
const;
202 std::string GetDescription(
const std::string& languageCode)
const;
212 const TagRegistry& tagRegistry,
213 const FeatureInstance& feature,
214 const ObjectOSMRef&
object,
216 FeatureValueBuffer& buffer)
const = 0;
231 const TypeInfo* type;
240 const TypeInfo* type,
virtual size_t GetValueSize() const
Definition: TypeFeature.h:144
virtual std::string GetLabel(const Locale &, size_t) const
Definition: TypeFeature.h:50
const std::unordered_map< std::string, std::string > & GetDescriptions() const
Definition: TypeFeature.h:204
const TypeInfo * GetType() const
Definition: TypeFeature.h:256
size_t GetFeatureBit() const
Definition: TypeFeature.h:264
virtual bool HasValue() const
Definition: TypeFeature.h:165
Definition: TypeFeature.h:98
Definition: TypeFeature.h:40
#define OSMSCOUT_API
Definition: CoreImportExport.h:45
size_t GetOffset() const
Definition: TypeFeature.h:280
size_t GetIndex() const
Definition: TypeFeature.h:272
Setup internal state of renderer for executing next steps with current projection and parameters...
Definition: MapPainter.h:57
std::shared_ptr< Feature > FeatureRef
Definition: TypeFeature.h:219
Definition: TagErrorReporter.h:32
virtual bool HasFlags() const
Definition: TypeFeature.h:181
virtual bool HasLabel() const
Definition: TypeFeature.h:173
bool operator==(const MapView &a, const MapView &b)
Definition: InputHandler.h:222
virtual bool IsFlagSet(size_t) const
Definition: TypeFeature.h:55
virtual bool operator!=(const FeatureValue &other) const
Definition: TypeFeature.h:78
virtual size_t GetFeatureBitCount() const
Definition: TypeFeature.h:157
std::unordered_map< TagId, std::string > TagMap
Definition: Tag.h:41
virtual size_t GetValueAlignment() const
Definition: TypeFeature.h:135
FeatureRef GetFeature() const
Definition: TypeFeature.h:248