Concept for types that behave like block 2x2 operators. Extends OperatorLike and requires block types and accessors.
More...
#include <operator.hpp>
template<typename T>
typename T::Block11Type;
typename T::Block12Type;
typename T::Block21Type;
typename T::Block22Type;
{ self_const.block_11() } -> std::same_as< const typename T::Block11Type& >;
{ self_const.block_12() } -> std::same_as< const typename T::Block12Type& >;
{ self_const.block_21() } -> std::same_as< const typename T::Block21Type& >;
{ self_const.block_22() } -> std::same_as< const typename T::Block22Type& >;
{ self.block_11() } -> std::same_as< typename T::Block11Type& >;
{ self.block_12() } -> std::same_as< typename T::Block12Type& >;
{ self.block_21() } -> std::same_as< typename T::Block21Type& >;
{ self.block_22() } -> std::same_as< typename T::Block22Type& >;
}
Concept for types that behave like block 2-vectors. Extends VectorLike and requires block types and a...
Definition vector.hpp:47
Concept for types that behave like block 2x2 operators. Extends OperatorLike and requires block types...
Definition operator.hpp:117
Concept for types that behave like linear operators.
Definition operator.hpp:57
Concept for types that behave like block 2x2 operators. Extends OperatorLike and requires block types and accessors.