3#ifndef BEAST_UTILITY_TAGGED_INTEGER_H_INCLUDED
4#define BEAST_UTILITY_TAGGED_INTEGER_H_INCLUDED
6#include <xrpl/beast/hash/hash_append.h>
8#include <boost/operators.hpp>
26template <
class Int,
class Tag>
28 : boost::totally_ordered<
29 tagged_integer<Int, Tag>,
30 boost::integer_arithmetic<
31 tagged_integer<Int, Tag>,
33 tagged_integer<Int, Tag>,
34 boost::unit_steppable<
35 tagged_integer<Int, Tag>,
36 boost::shiftable<tagged_integer<Int, Tag>>>>>>
51 sizeof(OtherInt) <=
sizeof(Int)>::type>
56 "tagged_integer is adding padding");
160 operator++() noexcept
167 operator--() noexcept
174 operator Int() const noexcept
203template <
class Int,
class Tag,
class HashAlgorithm>
A type-safe wrap around standard integral types.
std::istream & operator>>(std::istream &is, Endpoint &endpoint)
Input stream conversion.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
ApplyFlags operator|=(ApplyFlags &lhs, ApplyFlags const &rhs)
ApplyFlags operator&=(ApplyFlags &lhs, ApplyFlags const &rhs)
constexpr ApplyFlags operator~(ApplyFlags const &flags)
std::ostream & operator<<(std::ostream &out, base_uint< Bits, Tag > const &u)
bool operator<(Slice const &lhs, Slice const &rhs) noexcept
std::string to_string(base_uint< Bits, Tag > const &a)
Number operator-(Number const &x, Number const &y)
constexpr base_uint< Bits, Tag > operator+(base_uint< Bits, Tag > const &a, base_uint< Bits, Tag > const &b)
constexpr bool operator==(base_uint< Bits, Tag > const &lhs, base_uint< Bits, Tag > const &rhs)
is_contiguously_hashable()=default
Metafunction returning true if the type can be hashed in one call.