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

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

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

Concept definition

template<typename T>
concept vcl::comp::HasMark = requires (T&& obj) {
{ obj.mark() } -> std::same_as<int>;
requires IsConst<T> || requires {
{ obj.resetMark() } -> std::same_as<void>;
{ obj.incrementMark() } -> std::same_as<void>;
{ obj.decrementMark() } -> std::same_as<void>;
};
}
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
HasMark concept is satisfied only if a Element/Mesh class provides the types and member functions spe...
Definition mark.h:47

Detailed Description

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

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