akreon-linalg
Fixed-size linear algebra and numerical methods in C++26.
Loading...
Searching...
No Matches
coordinate_concepts.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
8#include <concepts>
9
10#include "coordinate_map.hpp"
11
12namespace linalg {
13
22template <class Candidate>
23concept Space = requires {
26 { space_dim_v<Candidate> } -> std::convertible_to<std::size_t>;
27};
28
37template <class Candidate>
40 requires(const space_element_t<Candidate>& element,
42 {
44 } -> std::same_as<space_coordinate_t<Candidate>>;
45 {
47 } -> std::same_as<space_element_t<Candidate>>;
48 };
49
50} // namespace linalg
Finite-dimensional space with explicit element-coordinate conversion.
Trait-registered finite-dimensional mathematical space.
constexpr std::size_t mat_rows_v
Registered compile-time row count after cv/ref normalization.