[][src]Trait flag_algebra::Flag

pub trait Flag where
    Self: Canonize + Debug + Display + Serialize + DeserializeOwned
{ fn induce(&self, set: &[usize]) -> Self;
fn all_flags(n: usize) -> Vec<Self>;
fn superflags(&self) -> Vec<Self>; fn name() -> String { ... }
fn generate_next(previous: &[Self]) -> Vec<Self> { ... }
fn generate(n: usize) -> Vec<Self> { ... }
fn generate_typed_up(type_flag: &Self, g_vec: &[Self]) -> Vec<Self> { ... }
fn generate_typed(type_flag: &Self, size: usize) -> Vec<Self> { ... }
fn select_type(&self, eta: &[usize]) -> Self { ... } }

Interface for object that can be used as flags.

Required methods

fn induce(&self, set: &[usize]) -> Self

Returns the subflag induced by the vertices in the slice set.

fn all_flags(n: usize) -> Vec<Self>

Returns the set of all flags of size n.

This list can have redundancy and a priori not reduced modulo isomorphism. It is used for initialisation and does not need to be efficient.

fn superflags(&self) -> Vec<Self>

Return the list of flags of size self.size() + 1 that contain self as an induced subflag.

This list can have redundancy and a priori not reduced modulo isomorphism.

Loading content...

Provided methods

fn name() -> String

A name for this type of flags. For instance "Graphe". This name is used for naming the associated data subdirectory.

fn generate_next(previous: &[Self]) -> Vec<Self>

Return the list of flags of size self.size() + 1 that contain self as an induced subflag reduced modulo isomorphism.

fn generate(n: usize) -> Vec<Self>

Return the list of flags of size n reduced modulo isomorphism.

fn generate_typed_up(type_flag: &Self, g_vec: &[Self]) -> Vec<Self>

Return the list of flags of g_vec that can be rooted on the flag type_flag. Each different way to root this flag give a different flag in the result.

fn generate_typed(type_flag: &Self, size: usize) -> Vec<Self>

Return the list of flag of size size rooted on type_flag reduced modulo (typed) isomorphism.

fn select_type(&self, eta: &[usize]) -> Self

Reorder self so that the eta.len() first vertices are the values of eta in the corresonding order.

Loading content...

Implementors

impl Flag for Digraph[src]

impl Flag for Graph[src]

impl<F, A> Flag for SubClass<F, A> where
    A: SubFlag<F>,
    F: Flag
[src]

impl<R> Flag for Model<R> where
    R: BinRelation + Serialize + DeserializeOwned
[src]

Loading content...