3#include <xrpl/basics/base_uint.h>
4#include <xrpl/beast/hash/uhash.h>
5#include <xrpl/protocol/STVector256.h>
std::optional< Rules > saved_
CurrentTransactionRulesGuard()=delete
~CurrentTransactionRulesGuard()
CurrentTransactionRulesGuard(Rules r)
CurrentTransactionRulesGuard & operator=(CurrentTransactionRulesGuard const &)=delete
CurrentTransactionRulesGuard(CurrentTransactionRulesGuard const &)=delete
ReadView that associates keys with digests.
Sets the new scale and restores the old scale when it leaves scope.
Rules controlling protocol behavior.
Rules & operator=(Rules const &)=default
bool enabled(uint256 const &feature) const
Returns true if a feature is enabled.
std::unordered_set< uint256, beast::Uhash<> > const & presets() const
Rules(Rules const &)=default
std::shared_ptr< Impl const > impl_
friend Rules makeRulesGivenLedger(DigestAwareReadView const &ledger, Rules const ¤t)
bool operator!=(Rules const &other) const
Rules & operator=(Rules &&)=default
bool operator==(Rules const &) const
Returns true if two rule sets are identical.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
bool isFeatureEnabled(uint256 const &feature, bool resultIfNoRules)
Check whether a feature is enabled in the current ledger rules.
static Hasher::result_type digest(void const *data, std::size_t size) noexcept
bool useRulesGuards(Rules const &rules)
void createGuards(Rules const &rules, std::optional< CurrentTransactionRulesGuard > &rulesGuard, std::optional< NumberMantissaScaleGuard > &mantissaScaleGuard)
std::optional< Rules > const & getCurrentTransactionRules()
void setCurrentTransactionRules(std::optional< Rules > r)