pub trait Faceted<'a> {
    type FacetFree;
    type FacetShared;
    type FacetExclusive;

    // Required methods
    fn facet_free(&'a self) -> Self::FacetFree;
    fn facet_shared(&'a self) -> Self::FacetShared;
    fn facet_exclusive(&'a self) -> Self::FacetExclusive;
}
Expand description

A resource is faceted into three types: free, shared, and exclusive. This trait allows us to obtain the three facets of a resource.

Required Associated Types§

Required Methods§

source

fn facet_free(&'a self) -> Self::FacetFree

source

fn facet_shared(&'a self) -> Self::FacetShared

source

fn facet_exclusive(&'a self) -> Self::FacetExclusive

Implementors§