4#ifndef INCLUDE_GUARD_ARENE_BASE_ARENE_BASE_UNITS_IS_BASE_QUANTITY_KIND_HPP_
5#define INCLUDE_GUARD_ARENE_BASE_ARENE_BASE_UNITS_IS_BASE_QUANTITY_KIND_HPP_
7#include "arene/base/constraints/constraints.hpp"
8#include "arene/base/stdlib_choice/enable_if.hpp"
9#include "arene/base/stdlib_choice/is_same.hpp"
10#include "arene/base/units/is_quantity_kind.hpp"
15namespace is_base_quantity_kind_detail {
20template <
typename BaseKind,
typename Type,
typename = constraints<>>
21extern constexpr bool is_base_quantity_kind_of_v =
false;
27template <
typename BaseKind,
typename Type>
28extern constexpr bool is_base_quantity_kind_of_v<
32 std::enable_if_t<is_quantity_kind_v<BaseKind>>,
33 std::enable_if_t<is_quantity_kind_v<Type>>,
34 std::enable_if_t<std::is_same<
typename Type::parent_quantity_kind_type, BaseKind>::value>>> =
true;
40template <
typename BaseKind,
typename Type>
41extern constexpr bool is_base_quantity_kind_of_v<
45 std::enable_if_t<is_quantity_kind_v<BaseKind>>,
46 std::enable_if_t<is_quantity_kind_v<Type>>,
47 std::enable_if_t<!std::is_same<
typename Type::parent_quantity_kind_type, BaseKind>::value>,
48 std::enable_if_t<is_base_quantity_kind_of_v<BaseKind,
typename Type::parent_quantity_kind_type>>>> =
true;
72 is_base_quantity_kind_of_v<BaseKind, Type> || std::is_same<BaseKind, Type>::
value;
Definition array_exceptions_disabled.cpp:11
constexpr bool is_base_quantity_kind_of_v
Type trait for checking if one type is a base quantity kind for another. Evaluates to true if the fir...
constexpr bool is_base_quantity_kind_of_or_same_as_v
Type trait for checking if one type is a base quantity kind for another, or the same type....
Copyright 2026, Toyota Motor Corporation.
Definition array_exceptions_disabled.cpp:10