20 #ifndef RIPPLE_PROTOCOL_BOOK_H_INCLUDED
21 #define RIPPLE_PROTOCOL_BOOK_H_INCLUDED
23 #include <ripple/protocol/Issue.h>
24 #include <boost/utility/base_from_member.hpp>
56 template <
class Hasher>
69 compare(Book
const& lhs, Book
const& rhs);
82 operator<(Book
const& lhs, Book
const& rhs);
84 operator>(Book
const& lhs, Book
const& rhs);
99 :
private boost::base_from_member<std::hash<ripple::Currency>, 0>,
100 private boost::base_from_member<std::hash<ripple::AccountID>, 1>
104 boost::base_from_member<std::hash<ripple::Currency>, 0>;
106 boost::base_from_member<std::hash<ripple::AccountID>, 1>;
109 explicit hash() =
default;
120 result, issuer_hash_type::member(value.
account));
136 explicit hash() =
default;
145 boost::hash_combine(result, m_hasher(value.
out));
159 explicit hash() =
default;
169 explicit hash() =
default;
bool operator>(base_uint< Bits, Tag > const &a, base_uint< Bits, Tag > const &b)
A currency issued by an account.
boost::base_from_member< std::hash< ripple::AccountID >, 1 > issuer_hash_type
bool isConsistent(Book const &book)
bool operator>=(base_uint< Bits, Tag > const &a, base_uint< Bits, Tag > const &b)
std::ostream & operator<<(std::ostream &os, TOffer< TIn, TOut > const &offer)
bool operator==(Manifest const &lhs, Manifest const &rhs)
bool operator<=(base_uint< Bits, Tag > const &a, base_uint< Bits, Tag > const &b)
bool operator<(CanonicalTXSet::Key const &lhs, CanonicalTXSet::Key const &rhs)
int compare(base_uint< Bits, Tag > const &a, base_uint< Bits, Tag > const &b)
Book reversed(Book const &book)
bool operator!=(Manifest const &lhs, Manifest const &rhs)
value_type operator()(argument_type const &value) const
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
boost::base_from_member< std::hash< ripple::Currency >, 0 > currency_hash_type
std::enable_if_t< is_contiguously_hashable< T, Hasher >::value > hash_append(Hasher &h, T const &t) noexcept
Logically concatenate input data to a Hasher.
std::string to_string(Manifest const &m)
Format the specified manifest to a string for debugging purposes.
void hash_append(Hasher &h, ValidatorBlobInfo const &blobInfo)
Book(Issue const &in_, Issue const &out_)
value_type operator()(argument_type const &value) const