10#ifndef PBAT_COMMON_CONCEPTS_H
11#define PBAT_COMMON_CONCEPTS_H
45concept CIndex = std::is_integral_v<T> and not std::is_same_v<T, bool>;
65 std::ranges::range<R> && std::is_convertible_v<std::ranges::range_value_t<R>,
int>;
74 CIndexRange<R> && std::ranges::sized_range<R> && std::ranges::contiguous_range<R>;
83 std::ranges::range<R> && std::is_arithmetic_v<std::ranges::range_value_t<R>>;
102 requires std::ranges::range<R>;
103 requires std::ranges::sized_range<R>;
104 requires std::ranges::contiguous_range<R>;
105 {std::ranges::range_value_t<R>::RowsAtCompileTime}->std::convertible_to<
int>;
106 {std::ranges::range_value_t<R>::ColsAtCompileTime}->std::convertible_to<
int>;
107 requires std::is_arithmetic_v<typename std::ranges::range_value_t<R>::Scalar>;
108 {std::ranges::range_value_t<R>::Flags};
Concept for arithmetic types.
Definition Concepts.h:31
Range of arithmetic types.
Definition Concepts.h:82
Range of Eigen fixed-size matrix types.
Definition Concepts.h:100
Contiguous range of arithmetic types.
Definition Concepts.h:91
Contiguous range of integer types.
Definition Concepts.h:73
Concept for floating-point types.
Definition Concepts.h:56
Concept for integral types.
Definition Concepts.h:45
Range of integer types.
Definition Concepts.h:64
Common functionality.
Definition ArgSort.h:20
The main namespace of the library.
Definition Aliases.h:15