Trait hdk::prelude::UnitEnum

source ·
pub trait UnitEnum {
    type Unit: Debug + Clone + Copy + PartialEq + Eq + PartialOrd + Ord + Hash;

    // Required methods
    fn to_unit(&self) -> Self::Unit;
    fn unit_iter() -> Box<dyn Iterator<Item = Self::Unit>>;
}
Expand description

A utility trait for associating a data enum with a unit enum that has the same variants.

Required Associated Types§

source

type Unit: Debug + Clone + Copy + PartialEq + Eq + PartialOrd + Ord + Hash

An enum with the same variants as the implementor but without any data.

Required Methods§

source

fn to_unit(&self) -> Self::Unit

Turn this type into it’s unit enum.

source

fn unit_iter() -> Box<dyn Iterator<Item = Self::Unit>>

Iterate over the unit variants.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl UnitEnum for ()

Needed as a base case for ignoring types.

§

type Unit = ()

source§

fn to_unit(&self) -> <() as UnitEnum>::Unit

source§

fn unit_iter() -> Box<dyn Iterator<Item = <() as UnitEnum>::Unit>>

Implementors§