rippled
Classes | Public Member Functions | Private Attributes | 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...
 
 Rules (DigestAwareReadView const &ledger, std::unordered_set< uint256, beast::uhash<>> const &presets)
 Construct rules from a ledger. More...
 
bool enabled (uint256 const &id) const
 Returns true if a feature is enabled. More...
 
bool changed (DigestAwareReadView const &ledger) const
 Returns true if these rules don't match the ledger. More...
 
bool operator== (Rules const &) const
 Returns true if two rule sets are identical. More...
 
bool operator!= (Rules const &other) const
 

Private Attributes

std::shared_ptr< Impl const > impl_
 

Detailed Description

Rules controlling protocol behavior.

Definition at line 131 of file ReadView.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 97 of file ReadView.cpp.

◆ Rules() [4/4]

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

Construct rules from a ledger.

The ledger contents are analyzed for rules and amendments and extracted to the object.

Definition at line 90 of file ReadView.cpp.

Member Function Documentation

◆ operator=()

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

◆ enabled()

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

Returns true if a feature is enabled.

Definition at line 103 of file ReadView.cpp.

◆ changed()

bool ripple::Rules::changed ( DigestAwareReadView const &  ledger) const

Returns true if these rules don't match the ledger.

Definition at line 110 of file ReadView.cpp.

◆ operator==()

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

Returns true if two rule sets are identical.

Note
This is for diagnostics. To determine if new rules should be constructed, call changed() first instead.

Definition at line 117 of file ReadView.cpp.

◆ operator!=()

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

Definition at line 178 of file ReadView.h.

Member Data Documentation

◆ impl_

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

Definition at line 134 of file ReadView.h.