akreon-linalg
Fixed-size linear algebra and numerical methods in C++26.
Loading...
Searching...
No Matches
affine_traits.hpp
Go to the documentation of this file.
1/*
2 * Copyright © 2025-2026 Akreon LLC
3 * SPDX-License-Identifier: Apache-2.0
4 */
5
6#pragma once
7
9
10namespace affine {
11
13template <linalg::MatrixContainer Mat>
14class AffineMap;
15
17template <class Mat>
19
21template <linalg::MatrixContainer Mat>
23 using AffineMat = Mat;
24};
25
27template <class AffineMap>
30
32template <class Map>
33concept AffineMapLike = requires(const Map& map) {
34 { map.linear_part() };
35 { map.translation() };
36};
37
38} // namespace affine
AffineMap class definition.
concept for affine map
typename affine_traits< linalg::remove_cvref_t< AffineMap > >::AffineMat affine_mat_t
alias to extract matrix type for affine map
meta type traits for affine map