Read the first valid sequence of characters from the string, skipping leading whitespace, and convert it using from_chars: generalized chars to value .
More...
|
| size_t | c4::from_chars_first (csubstr buf, uint8_t *v) noexcept |
| |
| size_t | c4::from_chars_first (csubstr buf, uint16_t *v) noexcept |
| |
| size_t | c4::from_chars_first (csubstr buf, uint32_t *v) noexcept |
| |
| size_t | c4::from_chars_first (csubstr buf, uint64_t *v) noexcept |
| |
| size_t | c4::from_chars_first (csubstr buf, int8_t *v) noexcept |
| |
| size_t | c4::from_chars_first (csubstr buf, int16_t *v) noexcept |
| |
| size_t | c4::from_chars_first (csubstr buf, int32_t *v) noexcept |
| |
| size_t | c4::from_chars_first (csubstr buf, int64_t *v) noexcept |
| |
| size_t | c4::from_chars_first (csubstr buf, float *v) noexcept |
| |
| size_t | c4::from_chars_first (csubstr buf, double *v) noexcept |
| |
| template<class T > |
| auto | c4::from_chars_first (csubstr buf, T *v) noexcept -> size_t ::type |
| |
| template<class T > |
| size_t | c4::from_chars_first (csubstr buf, T **v) noexcept |
| |
| size_t | c4::from_chars_first (csubstr buf, bool *v) noexcept |
| |
| size_t | c4::from_chars_first (csubstr buf, char *v) noexcept |
| |
| size_t | c4::from_chars_first (substr buf, csubstr *v) noexcept |
| |
| size_t | c4::from_chars_first (csubstr buf, substr *v) noexcept |
| |
| size_t | c4::from_chars_first (csubstr buf, fmt::raw_wrapper *r) |
| | read a variable in raw binary format, using memcpy More...
|
| |
| size_t | c4::from_chars_first (csubstr buf, fmt::raw_wrapper r) |
| | read a variable in raw binary format, using memcpy More...
|
| |
Read the first valid sequence of characters from the string, skipping leading whitespace, and convert it using from_chars: generalized chars to value .
Return the number of characters read for converting.
Dispatches to the most appropriate and efficient conversion function.
- See also
- atou_first, atoi_first, atof_first, atod_first
◆ from_chars_first() [1/18]
| size_t c4::from_chars_first |
( |
csubstr |
buf, |
|
|
uint8_t * |
v |
|
) |
| |
|
inlinenoexcept |
◆ from_chars_first() [2/18]
| size_t c4::from_chars_first |
( |
csubstr |
buf, |
|
|
uint16_t * |
v |
|
) |
| |
|
inlinenoexcept |
◆ from_chars_first() [3/18]
| size_t c4::from_chars_first |
( |
csubstr |
buf, |
|
|
uint32_t * |
v |
|
) |
| |
|
inlinenoexcept |
◆ from_chars_first() [4/18]
| size_t c4::from_chars_first |
( |
csubstr |
buf, |
|
|
uint64_t * |
v |
|
) |
| |
|
inlinenoexcept |
◆ from_chars_first() [5/18]
| size_t c4::from_chars_first |
( |
csubstr |
buf, |
|
|
int8_t * |
v |
|
) |
| |
|
inlinenoexcept |
Definition at line 2395 of file charconv.hpp.
size_t atoi_first(csubstr str, T *v)
Select the next range of characters in the string that can be parsed as a signed integral value,...
References c4::atoi_first().
◆ from_chars_first() [6/18]
| size_t c4::from_chars_first |
( |
csubstr |
buf, |
|
|
int16_t * |
v |
|
) |
| |
|
inlinenoexcept |
◆ from_chars_first() [7/18]
| size_t c4::from_chars_first |
( |
csubstr |
buf, |
|
|
int32_t * |
v |
|
) |
| |
|
inlinenoexcept |
◆ from_chars_first() [8/18]
| size_t c4::from_chars_first |
( |
csubstr |
buf, |
|
|
int64_t * |
v |
|
) |
| |
|
inlinenoexcept |
◆ from_chars_first() [9/18]
| size_t c4::from_chars_first |
( |
csubstr |
buf, |
|
|
float * |
v |
|
) |
| |
|
inlinenoexcept |
Definition at line 2399 of file charconv.hpp.
size_t atof_first(csubstr str, float *v) noexcept
Convert a string to a single precision real number.
References c4::atof_first().
◆ from_chars_first() [10/18]
| size_t c4::from_chars_first |
( |
csubstr |
buf, |
|
|
double * |
v |
|
) |
| |
|
inlinenoexcept |
Definition at line 2400 of file charconv.hpp.
size_t atod_first(csubstr str, double *v) noexcept
Convert a string to a double precision real number.
References c4::atod_first().
◆ from_chars_first() [11/18]
template<class T >
| auto c4::from_chars_first |
( |
csubstr |
buf, |
|
|
T * |
v |
|
) |
| -> size_t ::type |
|
inlinenoexcept |
◆ from_chars_first() [12/18]
template<class T >
| size_t c4::from_chars_first |
( |
csubstr |
buf, |
|
|
T ** |
v |
|
) |
| |
|
inlinenoexcept |
◆ from_chars_first() [13/18]
| size_t c4::from_chars_first |
( |
csubstr |
buf, |
|
|
bool * |
v |
|
) |
| |
|
inlinenoexcept |
◆ from_chars_first() [14/18]
| size_t c4::from_chars_first |
( |
csubstr |
buf, |
|
|
char * |
v |
|
) |
| |
|
inlinenoexcept |
◆ from_chars_first() [15/18]
| size_t c4::from_chars_first |
( |
substr |
buf, |
|
|
csubstr * |
v |
|
) |
| |
|
inlinenoexcept |
Definition at line 2565 of file charconv.hpp.
2567 csubstr trimmed = buf.first_non_empty_span();
2568 if(trimmed.len == 0)
2571 return static_cast<size_t>(trimmed.end() - buf.begin());
References c4::yml::npos.
◆ from_chars_first() [16/18]
| size_t c4::from_chars_first |
( |
csubstr |
buf, |
|
|
substr * |
v |
|
) |
| |
|
inlinenoexcept |
Definition at line 2618 of file charconv.hpp.
2620 csubstr trimmed = buf.first_non_empty_span();
2621 C4_ASSERT(!trimmed.overlaps(*v));
2622 if(C4_UNLIKELY(trimmed.len == 0))
2624 size_t len = trimmed.len > v->len ? v->len : trimmed.len;
2630 C4_ASSERT(buf.str !=
nullptr);
2631 C4_ASSERT(v->str !=
nullptr);
2632 memcpy(v->str, trimmed.str, len);
2634 if(C4_UNLIKELY(trimmed.len > v->len))
2636 return static_cast<size_t>(trimmed.end() - buf.begin());
References c4::yml::npos.
Referenced by c4::from_chars_first().
◆ from_chars_first() [17/18]
read a variable in raw binary format, using memcpy
Definition at line 480 of file format.hpp.
bool from_chars(csubstr buf, fmt::raw_wrapper r)
read a variable in raw binary format, using memcpy
References c4::from_chars().
◆ from_chars_first() [18/18]