libipa: interpolator: Add accessor to internal data

The only way to access the internal data of an Interpolator is through
the getInterpolated() method. Sometimes it is necessary to to access the
internal data directly to iterate over it. Add an accessor for that.

While at it, remove a line break from the doxygen documentation for
interpolate() so that doxygen is able to correctly match the function.

Signed-off-by: Stefan Klug <stefan.klug@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com>
This commit is contained in:
Stefan Klug 2025-01-23 12:40:51 +01:00
parent a7d7bc03e5
commit 3c653f3f65
2 changed files with 13 additions and 2 deletions

View file

@ -125,6 +125,13 @@ namespace ipa {
* Overwrites the internal map using move semantics.
*/
/**
* \fn std::map<unsigned int, T> &Interpolator<T>::data() const
* \brief Access the internal map
*
* \return The internal map
*/
/**
* \fn const T& Interpolator<T>::getInterpolated()
* \brief Retrieve an interpolated value for the given key
@ -136,8 +143,7 @@ namespace ipa {
*/
/**
* \fn void Interpolator<T>::interpolate(const T &a, const T &b, T &dest, double
* lambda)
* \fn void Interpolator<T>::interpolate(const T &a, const T &b, T &dest, double lambda)
* \brief Interpolate between two instances of T
* \param a The first value to interpolate
* \param b The second value to interpolate

View file

@ -81,6 +81,11 @@ public:
lastInterpolatedKey_.reset();
}
const std::map<unsigned int, T> &data() const
{
return data_;
}
const T &getInterpolated(unsigned int key, unsigned int *quantizedKey = nullptr)
{
ASSERT(data_.size() > 0);