Go to the documentation of this file.
15 #ifndef ABSL_RANDOM_INTERNAL_IOSTREAM_STATE_SAVER_H_
16 #define ABSL_RANDOM_INTERNAL_IOSTREAM_STATE_SAVER_H_
21 #include <type_traits>
23 #include "absl/meta/type_traits.h"
24 #include "absl/numeric/int128.h"
28 namespace random_internal {
44 template <
typename OStream>
75 #if defined(__NDK_MAJOR__) && __NDK_MAJOR__ < 16
76 #define ABSL_RANDOM_INTERNAL_IOSTREAM_HEXFLOAT 1
78 #define ABSL_RANDOM_INTERNAL_IOSTREAM_HEXFLOAT 0
81 template <
typename CharT,
typename Traits>
83 std::basic_ostream<CharT, Traits>& os,
84 std::ios_base::fmtflags
flags = std::ios_base::dec | std::ios_base::left |
88 std::ios_base::scientific) {
97 std::ios_base::fmtflags
flags = std::ios_base::dec) {
98 std::cerr <<
"null_state_saver";
106 template <
typename T>
110 (std::numeric_limits<T>::max_digits10 > std::numeric_limits<T>::digits10)
111 ? std::numeric_limits<T>::max_digits10
112 : (std::numeric_limits<T>::digits10 + 3);
131 template <
typename IStream>
148 template <
typename CharT,
typename Traits>
150 std::basic_istream<CharT, Traits>& is,
151 std::ios_base::fmtflags
flags = std::ios_base::dec |
152 std::ios_base::scientific |
153 std::ios_base::skipws) {
158 template <
typename T>
162 std::ios_base::fmtflags
flags = std::ios_base::dec) {
173 template <
typename T>
175 :
public std::conditional<(sizeof(T) == sizeof(char)), int, T> {};
180 template <
typename T>
185 template <
typename IStream>
193 template <
typename OStream>
197 out << h <<
out.fill() << l;
201 #ifdef ABSL_HAVE_INTRINSIC_INT128
203 struct stream_u128_helper<__uint128_t> {
204 template <
typename IStream>
205 inline __uint128_t
read(IStream&
in) {
209 return (
static_cast<__uint128_t
>(h) << 64) | l;
212 template <
typename OStream>
213 inline void write(__uint128_t val, OStream&
out) {
216 out << h <<
out.fill() << l;
221 template <
typename FloatType,
typename IStream>
235 std::fpclassify(
dest) == FP_SUBNORMAL)) {
236 is.clear(is.rdstate() & (~std::ios_base::failbit));
245 #endif // ABSL_RANDOM_INTERNAL_IOSTREAM_STATE_SAVER_H_
int fixed(struct state *s)
void write(absl::uint128 val, OStream &out)
null_state_saver(T &, flags_type)
istream_state_saver< std::basic_istream< CharT, Traits > > make_istream_state_saver(std::basic_istream< CharT, Traits > &is, std::ios_base::fmtflags flags=std::ios_base::dec|std::ios_base::scientific|std::ios_base::skipws)
static const unsigned char char_type[]
OPENSSL_EXPORT pem_password_cb void * u
typename std::enable_if< B, T >::type enable_if_t
#define ABSL_NAMESPACE_END
#define T(upbtypeconst, upbtype, ctype, default_value)
constexpr uint64_t Uint128High64(uint128 v)
#define ABSL_NAMESPACE_BEGIN
constexpr uint64_t Uint128Low64(uint128 v)
constexpr ABSL_NAMESPACE_BEGIN uint128 MakeUint128(uint64_t high, uint64_t low)
std::ios_base::fmtflags flags_type
const typedef int * result_type
unsigned __int64 uint64_t
istream_state_saver(istream_type &is, flags_type flags)
ostream_state_saver(ostream_type &os, flags_type flags, fill_type fill)
std::ios_base::fmtflags flags_type
typename ostream_type::char_type fill_type
int read(izstream &zs, T *x, Items items)
static constexpr int kPrecision
#define ABSL_RANDOM_INTERNAL_IOSTREAM_HEXFLOAT
ostream_state_saver< std::basic_ostream< CharT, Traits > > make_ostream_state_saver(std::basic_ostream< CharT, Traits > &os, std::ios_base::fmtflags flags=std::ios_base::dec|std::ios_base::left|std::ios_base::scientific)
absl::uint128 read(IStream &in)
std::ios_base::fmtflags flags_type
std::streamsize precision_type
FloatType read_floating_point(IStream &is)
const precision_type precision_
grpc
Author(s):
autogenerated on Fri May 16 2025 02:59:08