66 std::same_as<T, argon::none_type>
75template <
typename T,
typename...
Types>
76concept c_one_of = std::disjunction_v<std::is_same<T, Types>...>;
98template <
typename T,
typename U, type_val
idator TV>
107template <
typename T,
typename U>
116template <
typename T,
typename U>
118 std::convertible_to<T, U>;
127template <
typename T,
typename U, type_val
idator TV = type_val
idator::same>
137template <
typename R,
typename V, type_val
idator TV = type_val
idator::same>
139 std::ranges::range<R>
149template <
typename R,
typename V, type_val
idator TV = type_val
idator::same>
151 std::ranges::range<R>
161template <
typename It,
typename V, type_val
idator TV = type_val
idator::same>
The concept is used to verify the validity of the arguments' value types.
The concept is satisfied when T is an arithmetic type.
Validates that It is a forward iterator of type T (ignoring the cvref qualifiers).
Validates that It is a forward iterator of type T (ignoring the cvref qualifiers).
The concept is satisfied when T is argon::none_type.
Validates that T is the same as one of the types defined by Types.
Validates that R is a range of type T (ignoring the cvref qualifiers).
The concept is satisfied when T overloads the std::istream operator >>.
The concept is satisfied when T can be constructed from const std::string&.
Concept that enforces is_valid_type_v.
The concept is satisfied when T overloads the std::ostream operator <<.
type_validator
Specifies the type validation rule.
constexpr bool is_valid_type_v
Checks if two types satisfy a given type_validator rule.
@ convertible
Implicit conversion allowed.