libosmscout 1.1.1
Loading...
Searching...
No Matches
osmscout::FeatureValueReader< F, V > Class Template Reference

#include <libosmscout/include/osmscout/FeatureReader.h>

Public Member Functions

 FeatureValueReader (const TypeConfig &typeConfig)
bool GetIndex (const FeatureValueBuffer &buffer, size_t &index) const
V * GetValue (const FeatureValueBuffer &buffer) const
GetValue (const FeatureValueBuffer &buffer, const V &defaultValue) const

Detailed Description

template<class F, class V>
class osmscout::FeatureValueReader< F, V >

Helper template class for easy access to the value of a certain feature for objects of any type.

Each type may have stored the feature in request at a different index. The FeatureValueReader caches the index for each type once in the constructor and later on allows access to the feature value in O(1) - without iterating of all feature(values) of an object.

Constructor & Destructor Documentation

◆ FeatureValueReader()

template<class F, class V>
osmscout::FeatureValueReader< F, V >::FeatureValueReader ( const TypeConfig & typeConfig)
explicit

Member Function Documentation

◆ GetIndex()

template<class F, class V>
bool osmscout::FeatureValueReader< F, V >::GetIndex ( const FeatureValueBuffer & buffer,
size_t & index ) const

Returns the index of the Feature/FeatureValue within the given FeatureValueBuffer.

Parameters
bufferThe FeatureValueBuffer instance
indexThe index
Returns
true, if there is a valid index (because the type has such feature), else false

◆ GetValue() [1/2]

template<class F, class V>
V * osmscout::FeatureValueReader< F, V >::GetValue ( const FeatureValueBuffer & buffer) const

Returns the FeatureValue for the given FeatureValueBuffer

Parameters
bufferThe FeatureValueBuffer instance
Returns
A pointer to an instance if the Type and the instance do have the feature and its value is not nullptr, else nullptr

◆ GetValue() [2/2]

template<class F, class V>
V osmscout::FeatureValueReader< F, V >::GetValue ( const FeatureValueBuffer & buffer,
const V & defaultValue ) const

Returns the FeatureValue for the given FeatureValueBuffer or a defaultValue, if the feature is not set

Parameters
bufferThe FeatureValueBuffer instance
Returns
Either the value from the FeatureValueBuffer or the defaultValue

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