Ponca  4d2a58fa5c6375adef5c4b208f4d47e016cecd6d
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:260
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.