Ponca  7b3f8ad3fde25a027e6452783ccee143798a71b8
Point Cloud Analysis library
Loading...
Searching...
No Matches
Ponca::ProvidesComputeState Concept Reference

This concept if currently only used a base concept for ProvidesBasketUnitBase. More...

#include <concepts.h>

Concept definition

template<typename T>
concept Ponca::ProvidesComputeState = ProvidesCommonTypes<T> && requires(T t, const T ct) {
{ ct.isStable() } -> std::same_as<bool>;
{ ct.isReady() } -> std::same_as<bool>;
{ ct.getCurrentState() } -> std::same_as<FIT_RESULT>;
}
Aggregator class used to declare specialized structures using CRTP.
Definition basket.h:294
This concept if currently only used a base concept for ProvidesBasketUnitBase.
Definition concepts.h:18

Detailed Description

This concept if currently only used a base concept for ProvidesBasketUnitBase.

\fixme Find a way to make the methods getCurrentState, isStable and isReady accessible outside of the Basket. This could be done by moving their definition to ComputeObject, unfortunately there is a design flaw that prevent to do it currently: both the Basket and BasketDiff inherit from ComputeObject, and so any virtual function (e.g. getCurrentState is virtual and the other are in ComputeObject only) are found in multiple base classes of different types by the compiler. \fixme For the same reason as abobe, this concept cannot be tested out of the Basket hierarchy (e.g. as a requirement of MLSEvaluationScheme::computeMLSImpl (which would make sense as we need access to isStable in the MLS iterations)

Definition at line 18 of file concepts.h.