[][src]Trait zamm_yin::tao::archetype::ArchetypeTrait

pub trait ArchetypeTrait: From<usize> + From<FinalNode> + Ord + Deref<Target = FinalNode> {
    type ArchetypeForm: ArchetypeTrait + FormTrait + From<usize>;
    type Form: ArchetypeTrait + FormTrait;

    pub const TYPE_ID: usize;
    pub const TYPE_NAME: &'static str;
    pub const PARENT_TYPE_ID: usize;
    pub fn archetype() -> Self::ArchetypeForm { ... }
pub fn new() -> Self::Form { ... } }

Implement for static access to archetype metadata and typed individuation (individuation through the archetype will return a more generic result than might be desired).

Associated Types

type ArchetypeForm: ArchetypeTrait + FormTrait + From<usize>[src]

The Form that will be used to reason about this node and its children as archetypes and subtypes.

type Form: ArchetypeTrait + FormTrait[src]

The Form that will be used to reason about this node's leaves as individuals. Unless you are the Tao, this should be the same as the type that ArchetypeTrait is being implemented on.

Loading content...

Associated Constants

pub const TYPE_ID: usize[src]

The ID for this archetype.

pub const TYPE_NAME: &'static str[src]

The name of this archetype.

pub const PARENT_TYPE_ID: usize[src]

The default parent this archetype inherits from. Every archetype should have at least one parent, so that it doesn't live in a separate universe of its own. This helps enforce that, since allocations are not allowed in Rust constants.

Loading content...

Provided methods

pub fn archetype() -> Self::ArchetypeForm[src]

The incarnation of this archetype as a form.

pub fn new() -> Self::Form[src]

In the beginning was the Oneness, and the Oneness was nothingness.

And no one said "Let there be the null set," but there was the null set.

The null set was, and it separated itself from the wasn't.

And there was the null set, and there was the set containing the null set -- the first ordinal.

And there was recursion -- the naturals.

From this countable infinity all forms emerged, dividing the Oneness again and again into Self and Other. The time has come to stroke the ego, to stand out from the rest of the world as a unique individual engaging in the act of self-realization.

Loading content...

Implementors

impl ArchetypeTrait for Archetype[src]

impl ArchetypeTrait for AttributeArchetype[src]

impl ArchetypeTrait for Form[src]

type ArchetypeForm = Archetype

type Form = Form

impl ArchetypeTrait for HasAttribute[src]

impl ArchetypeTrait for HasFlag[src]

impl ArchetypeTrait for HasProperty[src]

impl ArchetypeTrait for Attribute[src]

impl ArchetypeTrait for Inherits[src]

impl ArchetypeTrait for MetaForm[src]

impl ArchetypeTrait for Owner[src]

impl ArchetypeTrait for OwnerArchetype[src]

impl ArchetypeTrait for Value[src]

impl ArchetypeTrait for ValueArchetype[src]

impl ArchetypeTrait for Flag[src]

type ArchetypeForm = Archetype

type Form = Flag

impl ArchetypeTrait for IsIndividual[src]

impl ArchetypeTrait for Meta[src]

type ArchetypeForm = Archetype

type Form = Meta

impl ArchetypeTrait for MultiValued[src]

impl ArchetypeTrait for Nonhereditary[src]

impl ArchetypeTrait for Relation[src]

impl ArchetypeTrait for Tao[src]

type ArchetypeForm = Archetype

type Form = Form

Loading content...