Arene Base
Fundamental Utilities For Safety Critical C++
Loading...
Searching...
No Matches
is_implicit.hpp
Go to the documentation of this file.
1#ifndef INCLUDE_GUARD_ARENE_BASE_ARENE_BASE_UNITS_IS_IMPLICIT_HPP_
2#define INCLUDE_GUARD_ARENE_BASE_ARENE_BASE_UNITS_IS_IMPLICIT_HPP_
3
4#include "arene/base/constraints/constraints.hpp"
5#include "arene/base/units/is_quantity_kind.hpp"
6
7namespace arene {
8namespace base {
9namespace units_detail {
10
11namespace is_implicit_detail {
12
13/// @brief helper used for detecting an implicit quantity kind
14/// @tparam Type the type to check
15template <typename Type, typename = constraints<>>
16extern constexpr bool provides_is_implicit_typedef_v = false;
17
18/// @brief helper used for detecting an implicit quantity kind
19/// @tparam Type the type to check.
20template <typename Type>
21extern constexpr bool provides_is_implicit_typedef_v<Type, constraints<typename Type::is_implicit>> = true;
22
23} // namespace is_implicit_detail
24
25/// @brief Type trait for detecting an implicit quantity kind.
26/// @tparam Type the type to check
27///
28/// Evaluates to @c true if the type is a quantity kind which provides an
29/// unspecified @c is_implicit type alias, @c false otherwise
30template <typename Type>
31extern constexpr bool is_implicit_v =
32 is_quantity_kind_v<Type> && is_implicit_detail::provides_is_implicit_typedef_v<Type>;
33
34} // namespace units_detail
35} // namespace base
36} // namespace arene
37
38#endif // INCLUDE_GUARD_ARENE_BASE_ARENE_BASE_UNITS_IS_IMPLICIT_HPP_
Definition array_exceptions_disabled.cpp:11
Copyright 2026, Toyota Motor Corporation.
Definition array_exceptions_disabled.cpp:10