22 template<
typename Value>
39 constexpr static auto concrete_default_value() ->
String {
43 if constexpr (concepts::Optional<Value> || concepts::InstanceOf<Value, Vector> ||
44 concepts::SameAs<bool, Value>) {
55 struct DefaultValueType {
65 struct DefaultValueType<
Path> {
70 struct DefaultValueType<
Optional<T>> : DefaultValueType<T> {};
73 struct DefaultValueType<Vector<T>> : DefaultValueType<T> {};
75 template<concepts::Enum T>
76 struct DefaultValueType<T> {
Definition language.h:259
ValueType
Definition value_type.h:11
@ CommandName
Definition value_type.h:17
@ CommandWithArgs
Definition value_type.h:18
@ Executable
Definition value_type.h:16
@ Unknown
Definition value_type.h:12
@ Path
Definition value_type.h:14
@ Enum
Definition value_type.h:13
@ Directory
Definition value_type.h:15
constexpr auto default_value_type
Definition value_type.h:82
string::StringImpl< string::Utf8Encoding > String
Definition string.h:11
PathViewImpl< string::TransparentEncoding > PathView
Definition path_view.h:11
PathImpl< TransparentString > Path
Definition path.h:10
constexpr auto fixed_string_to_utf8_string_view
Definition fixed_string_to_utf8_string_view.h:32
constexpr auto to_string
Definition to_string.h:14
Optional(T) -> Optional< T >
constexpr auto enumerator
Definition enumerator.h:41
constexpr auto to_owned
Definition to_owned.h:26
constexpr void tuple_for_each(F &&function, Tup &&tuple)
Definition tuple_for_each.h:22
constexpr auto reflect
Definition reflect.h:47