Visual Computing Library
Loading...
Searching...
No Matches
vcl::comp::HasQuality Concept Reference

HasQuality concept is satisfied only if a Element class provides the types and member functions specified in this concept. These types and member functions allow to access to a vcl::comp::Quality component of a given element. More...

#include <vclib/concepts/mesh/components/quality.h>

Concept definition

template<typename T>
concept vcl::comp::HasQuality = requires (
T&& obj,
typename RemoveRef<T>::QualityType q,
typename RemoveRef<T>::QualityType& qR) {
typename RemoveRef<T>::QualityType;
{ obj.quality() } -> std::convertible_to<decltype(q)>;
requires IsConst<T> || requires {
{ obj.quality() } -> std::same_as<decltype(qR)>;
};
}
A class representing a line segment in n-dimensional space. The class is parameterized by a PointConc...
Definition segment.h:43
The IsConst concept is satisfied if T satisfies one of the following conditions:
Definition const_correctness.h:43
HasQuality concept is satisfied only if a Element class provides the types and member functions speci...
Definition quality.h:47

Detailed Description

HasQuality concept is satisfied only if a Element class provides the types and member functions specified in this concept. These types and member functions allow to access to a vcl::comp::Quality component of a given element.

Note that this concept does not discriminate between the Horizontal Quality component and the vertical OptionalQuality component, therefore it does not guarantee that a template Element type that satisfies this concept provides Quality component at runtime (it is guaranteed only that the proper member functions are available at compile time).