Go to the documentation of this file.
35 #ifndef LVR2_ATTRMAPS_VECTORMAP_H_
36 #define LVR2_ATTRMAPS_VECTORMAP_H_
39 #include <boost/optional.hpp>
59 template<
typename HandleT,
typename ValueT>
90 VectorMap(
size_t countElements,
const ValueT& defaultValue);
92 VectorMap(
size_t countElements,
const boost::shared_array<ValueT>&
values);
98 boost::optional<ValueT>
insert(HandleT key,
const ValueT& value)
final;
99 boost::optional<ValueT>
erase(HandleT key)
final;
101 boost::optional<ValueT&>
get(HandleT key) final;
102 boost::optional<const ValueT&>
get(HandleT key) const final;
120 template<typename HandleT, typename ValueT>
125 "HandleT must inherit from BaseHandle!"
135 std::unique_ptr<AttributeMapHandleIterator<HandleT>> clone()
const final;
143 #include "lvr2/attrmaps/VectorMap.tcc"
boost::optional< ValueT > erase(HandleT key) final
Removes the value associated with the given key.
size_t numValues() const final
Returns the number of values in this map.
Interface for attribute maps.
bool containsKey(HandleT key) const final
Returns true iff the map contains a value associated with the given key.
AttributeMapHandleIteratorPtr< HandleT > end() const final
Returns an iterator to the end of all keys.
StableVector< HandleT, ValueT > m_vec
The underlying storage.
StableVectorIterator< HandleT, ValueT > m_iter
A map with constant lookup overhead using small-ish integer-keys.
boost::optional< ValueT > m_default
Iterator over keys of an attribute map.
A vector which guarantees stable indices and features O(1) deletion.
VectorMap()
Creates an empty map without default element set.
AttributeMapHandleIteratorPtr< HandleT > begin() const final
Returns an iterator over all keys of this map. The order of iteration is unspecified.
void clear() final
Removes all values from the map.
boost::optional< ValueT & > get(HandleT key) final
Returns the value associated with the given key or None if there is no associated value.
boost::optional< ValueT > insert(HandleT key, const ValueT &value) final
Inserts the given value at the given key position.
void reserve(size_t newCap)
Simple convinience wrapper for unique_ptr<AttributeMapHandleIterator>
BaseVector< CoordType > operator*(const Eigen::Matrix< Scalar, 4, 4 > &mat, const BaseVector< CoordType > &normal)
Multiplication operator to support transformation with Eigen matrices. Rotates the normal,...
lvr2
Author(s): Thomas Wiemann
, Sebastian Pütz , Alexander Mock , Lars Kiesow , Lukas Kalbertodt , Tristan Igelbrink , Johan M. von Behren , Dominik Feldschnieders , Alexander Löhr
autogenerated on Wed Mar 2 2022 00:37:25