Trait ForEachKey

Source
pub trait ForEachKey<Pk>
where Pk: MiniscriptKey,
{ // Required method fn for_each_key<'a, F>(&'a self, pred: F) -> bool where F: FnMut(&'a Pk) -> bool, Pk: 'a; // Provided method fn for_any_key<'a, F>(&'a self, pred: F) -> bool where F: FnMut(&'a Pk) -> bool, Pk: 'a { ... } }
Expand description

Either a key or keyhash, but both contain Pk Trait describing the ability to iterate over every key

Required Methods§

Source

fn for_each_key<'a, F>(&'a self, pred: F) -> bool
where F: FnMut(&'a Pk) -> bool, Pk: 'a,

Run a predicate on every key in the descriptor, returning whether the predicate returned true for every key

Provided Methods§

Source

fn for_any_key<'a, F>(&'a self, pred: F) -> bool
where F: FnMut(&'a Pk) -> bool, Pk: 'a,

Run a predicate on every key in the descriptor, returning whether the predicate returned true for any key

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<Pk> ForEachKey<Pk> for elements_miniscript::BtcDescriptor<Pk>
where Pk: MiniscriptKey,

Source§

impl<Pk> ForEachKey<Pk> for miniscript::policy::concrete::Policy<Pk>
where Pk: MiniscriptKey,

Source§

impl<Pk> ForEachKey<Pk> for miniscript::policy::semantic::Policy<Pk>
where Pk: MiniscriptKey,

Source§

impl<Pk> ForEachKey<Pk> for miniscript::descriptor::bare::Bare<Pk>
where Pk: MiniscriptKey,

Source§

impl<Pk> ForEachKey<Pk> for miniscript::descriptor::bare::Pkh<Pk>
where Pk: MiniscriptKey,

Source§

impl<Pk> ForEachKey<Pk> for miniscript::descriptor::segwitv0::Wpkh<Pk>
where Pk: MiniscriptKey,

Source§

impl<Pk> ForEachKey<Pk> for miniscript::descriptor::segwitv0::Wsh<Pk>
where Pk: MiniscriptKey,

Source§

impl<Pk> ForEachKey<Pk> for miniscript::descriptor::sh::Sh<Pk>
where Pk: MiniscriptKey,

Source§

impl<Pk> ForEachKey<Pk> for miniscript::descriptor::tr::Tr<Pk>
where Pk: MiniscriptKey,

Source§

impl<Pk, Ctx> ForEachKey<Pk> for miniscript::descriptor::sortedmulti::SortedMultiVec<Pk, Ctx>
where Pk: MiniscriptKey, Ctx: ScriptContext,

Source§

impl<Pk, Ctx> ForEachKey<Pk> for elements_miniscript::BtcMiniscript<Pk, Ctx>
where Pk: MiniscriptKey, Ctx: ScriptContext,

Source§

impl<Pk, Ctx, Ext> ForEachKey<Pk> for Terminal<Pk, Ctx, Ext>
where Pk: MiniscriptKey, Ctx: ScriptContext, Ext: Extension,

Source§

impl<Pk: MiniscriptKey> ForEachKey<Pk> for elements_miniscript::policy::concrete::Policy<Pk>

Source§

impl<Pk: MiniscriptKey> ForEachKey<Pk> for elements_miniscript::descriptor::Bare<Pk>

Source§

impl<Pk: MiniscriptKey> ForEachKey<Pk> for elements_miniscript::descriptor::Pkh<Pk>

Source§

impl<Pk: MiniscriptKey> ForEachKey<Pk> for elements_miniscript::descriptor::Sh<Pk>

Source§

impl<Pk: MiniscriptKey> ForEachKey<Pk> for elements_miniscript::descriptor::Wpkh<Pk>

Source§

impl<Pk: MiniscriptKey> ForEachKey<Pk> for elements_miniscript::descriptor::Wsh<Pk>

Source§

impl<Pk: MiniscriptKey, Ctx: ScriptContext> ForEachKey<Pk> for elements_miniscript::descriptor::SortedMultiVec<Pk, Ctx>

Source§

impl<Pk: MiniscriptKey, Ctx: ScriptContext, Ext: Extension> ForEachKey<Pk> for elements_miniscript::miniscript::Miniscript<Pk, Ctx, Ext>

Source§

impl<Pk: MiniscriptKey, Ext: Extension> ForEachKey<Pk> for LegacyCSFSCov<Pk, Ext>

Source§

impl<Pk: MiniscriptKey, Ext: Extension> ForEachKey<Pk> for elements_miniscript::descriptor::Tr<Pk, Ext>

Source§

impl<Pk: MiniscriptKey, T: Extension> ForEachKey<Pk> for elements_miniscript::descriptor::Descriptor<Pk, T>