8 #ifndef XGBOOST_COMMON_CHARCONV_H_ 9 #define XGBOOST_COMMON_CHARCONV_H_ 12 #include <system_error> 16 #include "xgboost/logging.h" 33 uint64_t
const value);
46 static constexpr
size_t kToCharsSize = 16;
53 static constexpr
size_t kToCharsSize =
54 std::numeric_limits<int64_t>::digits10 +
62 return {first, std::errc::value_too_large};
66 ret.
ptr = first + index;
71 ret.
ec = std::errc::value_too_large;
79 return {first, std::errc::value_too_large};
84 return {std::next(first), std::errc()};
86 uint64_t unsigned_value = value;
89 std::advance(first, 1);
90 unsigned_value = uint64_t(~value) + uint64_t(1);
103 #endif // XGBOOST_COMMON_CHARCONV_H_ std::errc ec
Definition: charconv.h:27
to_chars_result to_chars(char *first, char *last, float value)
Definition: charconv.h:58
Definition: charconv.h:20
Definition: charconv.h:25
std::errc ec
Definition: charconv.h:22
const char * ptr
Definition: charconv.h:26
from_chars_result FromCharFloatImpl(const char *buffer, const int len, float *result)
namespace of xgboost
Definition: base.h:102
to_chars_result ToCharsUnsignedImpl(char *first, char *last, uint64_t const value)
Definition: charconv.h:39
#define XGBOOST_EXPECT(cond, ret)
Definition: base.h:75
int32_t ToCharsFloatImpl(float f, char *const result)
char * ptr
Definition: charconv.h:21
from_chars_result from_chars(const char *buffer, const char *end, float &value)
Definition: charconv.h:95