A concept representing a 2-dimensional array.
More...
#include <vclib/concepts/space/array.h>
template<typename T>
T&& obj,
std::size_t n,
typename RemoveRef<T>::Reference ref,
typename RemoveRef<T>::ConstReference cRef,
typename RemoveRef<T>::Pointer ptr,
typename RemoveRef<T>::ConstPointer cPtr) {
requires RemoveRef<T>::DIM == 2;
RemoveRef<T>(n, n);
{ obj.rows() } -> std::integral;
{
obj.cols() } -> std::integral;
{ obj.sizeX() } -> std::integral;
{ obj.sizeY() } -> std::integral;
{ obj.operator()(n, n) } -> std::convertible_to<decltype(cRef)>;
{ obj.data(n) } -> std::convertible_to<decltype(cPtr)>;
requires IsConst<T> || requires {
{ obj.operator()(n, n) } -> std::same_as<decltype(ref)>;
{ obj.data(n) } -> std::same_as<decltype(ptr)>;
{ obj.resize(n, n) } -> std::same_as<void>;
{ obj.conservativeResize(n, n) } -> 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
A concept representing a 2-dimensional array.
Definition array.h:105
A concept representing a N-dimensional array.
Definition array.h:45
A concept representing a 2-dimensional array.
This concept defines a set of requirements that must be satisfied by any type that wants to model a 2-dimensional array.
- Template Parameters
-
T | The type to be tested for conformity to the Array2Concept. |