rippled
Classes | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
ripple::Rules Class Reference

Rules controlling protocol behavior. More...

Collaboration diagram for ripple::Rules:
Collaboration graph
[legend]

Classes

class  Impl
 

Public Member Functions

 Rules (Rules const &)=default
 
Rulesoperator= (Rules const &)=default
 
 Rules ()=delete
 
 Rules (std::unordered_set< uint256, beast::uhash<>> const &presets)
 Construct an empty rule set. More...
 
bool enabled (uint256 const &feature) const
 Returns true if a feature is enabled. More...
 
bool operator== (Rules const &) const
 Returns true if two rule sets are identical. More...
 
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 33 of file Rules.h.

Constructor & Destructor Documentation

◆ Rules() [1/4]

ripple::Rules::Rules ( Rules const &  )
default

◆ Rules() [2/4]

ripple::Rules::Rules ( )
delete

◆ Rules() [3/4]

ripple::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 74 of file Rules.cpp.

◆ Rules() [4/4]

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

Definition at line 79 of file Rules.cpp.

Member Function Documentation

◆ operator=()

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

◆ presets()

std::unordered_set< uint256, beast::uhash<> > const & ripple::Rules::presets ( ) const
private

Definition at line 88 of file Rules.cpp.

◆ enabled()

bool ripple::Rules::enabled ( uint256 const &  feature) const

Returns true if a feature is enabled.

Definition at line 94 of file Rules.cpp.

◆ operator==()

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

Returns true if two rule sets are identical.

Note
This is for diagnostics.

Definition at line 113 of file Rules.cpp.

◆ operator!=()

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

Definition at line 122 of file Rules.cpp.

Friends And Related Function Documentation

◆ makeRulesGivenLedger [1/2]

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

Definition at line 69 of file ReadView.cpp.

◆ makeRulesGivenLedger [2/2]

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

Definition at line 75 of file ReadView.cpp.

Member Data Documentation

◆ impl_

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

Definition at line 36 of file Rules.h.