NavMap
Loading...
Searching...
No Matches
LayerView< T > Struct Template Reference

Typed layer view storing one T value per NavCel. More...

#include <NavMap.hpp>

Inheritance diagram for LayerView< T >:
Collaboration diagram for LayerView< T >:

Public Member Functions

std::vector< T > & data ()
 
const std::vector< T > & data () const
 
 LayerView (std::string name, size_t nitems, LayerType t)
 Construct a typed view.
 
const std::string & name () const override
 
size_t size () const override
 
LayerType type () const override
 
Element access (indexed by NavCelId).
T & operator[] (NavCelId cid)
 
const T & operator[] (NavCelId cid) const
 
Layer hashing & access
std::vector< T > & mutable_data () const
 
void set_data (const std::vector< T > &v)
 
std::uint64_t content_hash () const override
 Return 64-bit content hash (cached; recomputed lazily).
 
- Public Member Functions inherited from LayerViewBase
void mark_dirty () const noexcept
 Mark content dirty (forces hash recompute on next query).
 
virtual ~LayerViewBase ()=default
 

Public Attributes

std::vector< T > data_
 Values, one per NavCel.
 
std::string name_
 Layer name (key in the registry)
 
LayerType type_
 Runtime type tag (must match T)
 

Additional Inherited Members

- Protected Attributes inherited from LayerViewBase
std::uint64_t hash_cache_ {0}
 
bool hash_dirty_ {true}
 

Detailed Description

template<typename T>
struct navmap::LayerView< T >

Typed layer view storing one T value per NavCel.

Template Parameters
TScalar type (uint8_t, float, double).
Note
Elements are indexed by navmap::NavCelId.

Constructor & Destructor Documentation

◆ LayerView()

template<typename T>
LayerView ( std::string name,
size_t nitems,
LayerType t )

Construct a typed view.

Parameters
nameLayer name.
nitemsNumber of NavCels.
tRuntime type tag corresponding to T.

Member Function Documentation

◆ content_hash()

template<typename T>
std::uint64_t content_hash ( ) const
overridevirtual

Return 64-bit content hash (cached; recomputed lazily).

Implements LayerViewBase.

◆ data() [1/2]

template<typename T>
std::vector< T > & data ( )
Returns
Mutable reference to internal storage.

◆ data() [2/2]

template<typename T>
const std::vector< T > & data ( ) const
Returns
Const reference to internal storage.

◆ mutable_data()

template<typename T>
std::vector< T > & mutable_data ( ) const

◆ name()

template<typename T>
const std::string & name ( ) const
overridevirtual
Returns
Layer name (unique within the registry).

Implements LayerViewBase.

◆ operator[]() [1/2]

template<typename T>
T & operator[] ( NavCelId cid)

◆ operator[]() [2/2]

template<typename T>
const T & operator[] ( NavCelId cid) const

◆ set_data()

template<typename T>
void set_data ( const std::vector< T > & v)

◆ size()

template<typename T>
size_t size ( ) const
overridevirtual
Returns
Number of items (= number of NavCels).

Implements LayerViewBase.

◆ type()

template<typename T>
LayerType type ( ) const
overridevirtual
Returns
Type tag of the underlying storage.

Implements LayerViewBase.

Member Data Documentation

◆ data_

template<typename T>
std::vector<T> data_

Values, one per NavCel.

◆ name_

template<typename T>
std::string name_

Layer name (key in the registry)

◆ type_

template<typename T>
LayerType type_

Runtime type tag (must match T)


The documentation for this struct was generated from the following files: