#ifndef GOOGLE_PROTOBUF_STUBS_INT128_H_
#define GOOGLE_PROTOBUF_STUBS_INT128_H_
#include <google/protobuf/stubs/common.h>
#include <iosfwd>
#include <google/protobuf/port_def.inc>
namespace google {
namespace protobuf {
struct uint128_pod;
#ifdef GOOGLE_PROTOBUF_HAS_CONSTEXPR
#define UINT128_CONSTEXPR …
#else
#define UINT128_CONSTEXPR
#endif
class PROTOBUF_EXPORT uint128 { … };
struct uint128_pod { … };
PROTOBUF_EXPORT extern const uint128_pod kuint128max;
PROTOBUF_EXPORT extern std::ostream& operator<<(std::ostream& o,
const uint128& b);
inline uint64_t Uint128Low64(const uint128& v) { … }
inline uint64_t Uint128High64(const uint128& v) { … }
inline bool operator==(const uint128& lhs, const uint128& rhs) { … }
inline bool operator!=(const uint128& lhs, const uint128& rhs) { … }
inline UINT128_CONSTEXPR uint128::uint128() : … { … }
inline UINT128_CONSTEXPR uint128::uint128(uint64_t top, uint64_t bottom)
: … { … }
inline UINT128_CONSTEXPR uint128::uint128(const uint128_pod& v)
: … { … }
inline UINT128_CONSTEXPR uint128::uint128(uint64_t bottom)
: … { … }
#ifndef SWIG
inline UINT128_CONSTEXPR uint128::uint128(uint32_t bottom)
: … { … }
inline UINT128_CONSTEXPR uint128::uint128(int bottom)
: … { … }
#endif
#undef UINT128_CONSTEXPR
inline void uint128::Initialize(uint64_t top, uint64_t bottom) { … }
#define CMP128 …
CMP128
CMP128
CMP128
CMP128
#undef CMP128
inline uint128 operator-(const uint128& val) { … }
inline bool operator!(const uint128& val) { … }
inline uint128 operator~(const uint128& val) { … }
#define LOGIC128 …
LOGIC128
LOGIC128
LOGIC128
#undef LOGIC128
#define LOGICASSIGN128 …
LOGICASSIGN128
LOGICASSIGN128
LOGICASSIGN128
#undef LOGICASSIGN128
inline uint128 operator<<(const uint128& val, int amount) { … }
inline uint128 operator>>(const uint128& val, int amount) { … }
inline uint128& uint128::operator<<=(int amount) { … }
inline uint128& uint128::operator>>=(int amount) { … }
inline uint128 operator+(const uint128& lhs, const uint128& rhs) { … }
inline uint128 operator-(const uint128& lhs, const uint128& rhs) { … }
inline uint128 operator*(const uint128& lhs, const uint128& rhs) { … }
inline uint128 operator/(const uint128& lhs, const uint128& rhs) { … }
inline uint128 operator%(const uint128& lhs, const uint128& rhs) { … }
inline uint128& uint128::operator+=(const uint128& b) { … }
inline uint128& uint128::operator-=(const uint128& b) { … }
inline uint128& uint128::operator*=(const uint128& b) { … }
inline uint128 uint128::operator++(int) { … }
inline uint128 uint128::operator--(int) { … }
inline uint128& uint128::operator++() { … }
inline uint128& uint128::operator--() { … }
}
}
#include <google/protobuf/port_undef.inc>
#endif