mirror of
https://github.com/fmtlib/fmt.git
synced 2024-11-19 20:18:49 +00:00
Clean up value
This commit is contained in:
parent
e1a67b5285
commit
e895da2ec3
@ -670,7 +670,7 @@ FMT_CONSTEXPR bool is_arithmetic(type t) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <typename Char> struct string_value {
|
template <typename Char> struct string_value {
|
||||||
const Char* value;
|
const Char* data;
|
||||||
std::size_t size;
|
std::size_t size;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -690,6 +690,8 @@ template <typename Context> class value {
|
|||||||
unsigned uint_value;
|
unsigned uint_value;
|
||||||
long long long_long_value;
|
long long long_long_value;
|
||||||
unsigned long long ulong_long_value;
|
unsigned long long ulong_long_value;
|
||||||
|
bool bool_value;
|
||||||
|
char_type char_value;
|
||||||
double double_value;
|
double double_value;
|
||||||
long double long_double_value;
|
long double long_double_value;
|
||||||
const void* pointer;
|
const void* pointer;
|
||||||
@ -704,11 +706,11 @@ template <typename Context> class value {
|
|||||||
value(unsigned long long val) : ulong_long_value(val) {}
|
value(unsigned long long val) : ulong_long_value(val) {}
|
||||||
value(double val) : double_value(val) {}
|
value(double val) : double_value(val) {}
|
||||||
value(long double val) : long_double_value(val) {}
|
value(long double val) : long_double_value(val) {}
|
||||||
value(bool val) : int_value(val) {}
|
value(bool val) : bool_value(val) {}
|
||||||
value(char_type val) : int_value(val) {}
|
value(char_type val) : char_value(val) {}
|
||||||
value(const char_type* val) { string.value = val; }
|
value(const char_type* val) { string.data = val; }
|
||||||
value(basic_string_view<char_type> val) {
|
value(basic_string_view<char_type> val) {
|
||||||
string.value = val.data();
|
string.data = val.data();
|
||||||
string.size = val.size();
|
string.size = val.size();
|
||||||
}
|
}
|
||||||
value(const void* val) : pointer(val) {}
|
value(const void* val) : pointer(val) {}
|
||||||
@ -914,17 +916,17 @@ FMT_CONSTEXPR internal::invoke_result_t<Visitor, int> visit_format_arg(
|
|||||||
case internal::ulong_long_type:
|
case internal::ulong_long_type:
|
||||||
return vis(arg.value_.ulong_long_value);
|
return vis(arg.value_.ulong_long_value);
|
||||||
case internal::bool_type:
|
case internal::bool_type:
|
||||||
return vis(arg.value_.int_value != 0);
|
return vis(arg.value_.bool_value);
|
||||||
case internal::char_type:
|
case internal::char_type:
|
||||||
return vis(static_cast<char_type>(arg.value_.int_value));
|
return vis(arg.value_.char_value);
|
||||||
case internal::double_type:
|
case internal::double_type:
|
||||||
return vis(arg.value_.double_value);
|
return vis(arg.value_.double_value);
|
||||||
case internal::long_double_type:
|
case internal::long_double_type:
|
||||||
return vis(arg.value_.long_double_value);
|
return vis(arg.value_.long_double_value);
|
||||||
case internal::cstring_type:
|
case internal::cstring_type:
|
||||||
return vis(arg.value_.string.value);
|
return vis(arg.value_.string.data);
|
||||||
case internal::string_type:
|
case internal::string_type:
|
||||||
return vis(basic_string_view<char_type>(arg.value_.string.value,
|
return vis(basic_string_view<char_type>(arg.value_.string.data,
|
||||||
arg.value_.string.size));
|
arg.value_.string.size));
|
||||||
case internal::pointer_type:
|
case internal::pointer_type:
|
||||||
return vis(arg.value_.pointer);
|
return vis(arg.value_.pointer);
|
||||||
|
Loading…
Reference in New Issue
Block a user