xrpld
Loading...
Searching...
No Matches
xrpl::Rules Class Reference

Rules controlling protocol behavior. More...

#include <Rules.h>

Collaboration diagram for xrpl::Rules:

Classes

class  Impl

Public Member Functions

 Rules (Rules const &)=default
 Rules (Rules &&)=default
Rulesoperator= (Rules const &)=default
Rulesoperator= (Rules &&)=default
 Rules ()=delete
 Rules (std::unordered_set< uint256, beast::Uhash<> > const &presets)
 Construct an empty rule set.
bool enabled (uint256 const &feature) const
 Returns true if a feature is enabled.
bool operator== (Rules const &) const
 Returns true if two rule sets are identical.
bool operator!= (Rules const &other) const

Private Member Functions

 Rules (std::unordered_set< uint256, beast::Uhash<> > const &presets, std::optional< uint256 > const &digest, STVector256 const &amendments)
std::unordered_set< uint256, beast::Uhash<> > const & presets () const

Private Attributes

std::shared_ptr< Impl const > impl_

Friends

Rules makeRulesGivenLedger (DigestAwareReadView const &ledger, Rules const &current)
Rules makeRulesGivenLedger (DigestAwareReadView const &ledger, std::unordered_set< uint256, beast::Uhash<> > const &presets)

Detailed Description

Rules controlling protocol behavior.

Definition at line 32 of file Rules.h.

Constructor & Destructor Documentation

◆ Rules() [1/5]

xrpl::Rules::Rules ( Rules const & )
default

◆ Rules() [2/5]

xrpl::Rules::Rules ( Rules && )
default

◆ Rules() [3/5]

xrpl::Rules::Rules ( )
delete

◆ Rules() [4/5]

xrpl::Rules::Rules ( std::unordered_set< uint256, beast::Uhash<> > const & presets)
explicit

Construct an empty rule set.

These are the rules reflected by the genesis ledger.

Definition at line 151 of file Rules.cpp.

◆ Rules() [5/5]

xrpl::Rules::Rules ( std::unordered_set< uint256, beast::Uhash<> > const & presets,
std::optional< uint256 > const & digest,
STVector256 const & amendments )
private

Definition at line 156 of file Rules.cpp.

Member Function Documentation

◆ operator=() [1/2]

Rules & xrpl::Rules::operator= ( Rules const & )
default

◆ operator=() [2/2]

Rules & xrpl::Rules::operator= ( Rules && )
default

◆ presets()

std::unordered_set< uint256, beast::Uhash<> > const & xrpl::Rules::presets ( ) const
nodiscardprivate

Definition at line 165 of file Rules.cpp.

◆ enabled()

bool xrpl::Rules::enabled ( uint256 const & feature) const
nodiscard

Returns true if a feature is enabled.

Definition at line 171 of file Rules.cpp.

◆ operator==()

bool xrpl::Rules::operator== ( Rules const & other) const

Returns true if two rule sets are identical.

Note
This is for diagnostics.

Definition at line 179 of file Rules.cpp.

◆ operator!=()

bool xrpl::Rules::operator!= ( Rules const & other) const

Definition at line 188 of file Rules.cpp.

◆ makeRulesGivenLedger [1/2]

Rules makeRulesGivenLedger ( DigestAwareReadView const & ledger,
Rules const & current )
friend

Definition at line 61 of file ReadView.cpp.

◆ makeRulesGivenLedger [2/2]

Rules makeRulesGivenLedger ( DigestAwareReadView const & ledger,
std::unordered_set< uint256, beast::Uhash<> > const & presets )
friend

Definition at line 67 of file ReadView.cpp.

Member Data Documentation

◆ impl_

std::shared_ptr<Impl const> xrpl::Rules::impl_
private

Definition at line 39 of file Rules.h.