tesseract++ 0.0.1
N-dimensional tensor library for embedded systems
Loading...
Searching...
No Matches
binary_expr_algebraic_traits.h
Go to the documentation of this file.
1#pragma once
2
3// Forward declare BinaryExpr
4template <typename LHS, typename RHS, template <typename, my_size_t, typename> class Op>
5class BinaryExpr;
6
7namespace algebra
8{
9 // Propagate traits for BinaryExpr
10 template <typename LHS, typename RHS,
11 template <typename, my_size_t, typename> class Op>
12 struct algebraic_traits<BinaryExpr<LHS, RHS, Op>>
13 {
15 static constexpr bool algebra = is_algebra_v<LHS> && is_algebra_v<RHS>;
17 static constexpr bool metric = is_metric_v<LHS> && is_metric_v<RHS>;
18 static constexpr bool tensor = is_tensor_v<LHS> && is_tensor_v<RHS>;
19 };
20} // namespace algebra
Definition BinaryExpr.h:15
Definition basic_algebraic_traits.h:4
constexpr bool is_vector_space_v
Definition basic_algebraic_traits.h:123
Definition basic_algebraic_traits.h:10
static constexpr bool lie_group
Definition basic_algebraic_traits.h:78
static constexpr bool vector_space
Definition basic_algebraic_traits.h:30
static constexpr bool tensor
Definition basic_algebraic_traits.h:116
static constexpr bool metric
Definition basic_algebraic_traits.h:96