3#ifndef TETL_LINALG_CONJUGATED_SCALAR_HPP
4#define TETL_LINALG_CONJUGATED_SCALAR_HPP
11namespace etl::linalg::detail {
13template <
typename ReferenceValue>
14concept conjugatable =
requires {
18template <
typename Reference, conjugatable ReferenceValue>
19struct conjugated_scalar : proxy_reference<Reference, ReferenceValue, conjugated_scalar<Reference, ReferenceValue>> {
22 constexpr explicit conjugated_scalar(Reference reference)
23 : base_type(reference)
27 [[nodiscard]]
static constexpr auto to_value(Reference reference)
29 return conj_if_needed(ReferenceValue(reference));
33 using my_type = conjugated_scalar<Reference, ReferenceValue>;
34 using base_type = proxy_reference<Reference, ReferenceValue, my_type>;
auto declval() noexcept -> add_rvalue_reference_t< T >