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

pub trait ArchetypeTrait: Ord + From<usize> + From<FinalNode> + 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 Action[src]

type ArchetypeForm = Archetype

type Form = Action

impl ArchetypeTrait for Implement[src]

impl ArchetypeTrait for DataArchetype[src]

impl ArchetypeTrait for RustItemArchetype[src]

impl ArchetypeTrait for Archetype[src]

impl ArchetypeTrait for AttributeArchetype[src]

impl ArchetypeTrait for Data[src]

impl ArchetypeTrait for Number[src]

impl ArchetypeTrait for StrConcept[src]

impl ArchetypeTrait for StringConcept[src]

impl ArchetypeTrait for Crate[src]

impl ArchetypeTrait for Module[src]

impl ArchetypeTrait for RustItem[src]

impl ArchetypeTrait for Collection[src]

impl ArchetypeTrait for Form[src]

type ArchetypeForm = Archetype

type Form = Form

impl ArchetypeTrait for BuildInfo[src]

impl ArchetypeTrait for KnowledgeGraphNode[src]

impl ArchetypeTrait for Perspective[src]

impl ArchetypeTrait for HasAttribute[src]

impl ArchetypeTrait for HasFlag[src]

impl ArchetypeTrait for HasProperty[src]

impl ArchetypeTrait for Alias[src]

impl ArchetypeTrait for Attribute[src]

impl ArchetypeTrait for ConceptId[src]

impl ArchetypeTrait for DefaultValue[src]

impl ArchetypeTrait for Documentation[src]

impl ArchetypeTrait for DualPurposeDocumentation[src]

impl ArchetypeTrait for DummyValue[src]

impl ArchetypeTrait for ImplementationName[src]

impl ArchetypeTrait for ImportPath[src]

impl ArchetypeTrait for Inherits[src]

impl ArchetypeTrait for Member[src]

impl ArchetypeTrait for MetaForm[src]

impl ArchetypeTrait for MostProminentMember[src]

impl ArchetypeTrait for Owner[src]

impl ArchetypeTrait for OwnerArchetype[src]

impl ArchetypeTrait for ReExport[src]

impl ArchetypeTrait for RustPrimitive[src]

impl ArchetypeTrait for Target[src]

impl ArchetypeTrait for UnboxedRepresentation[src]

impl ArchetypeTrait for Value[src]

impl ArchetypeTrait for ValueArchetype[src]

impl ArchetypeTrait for Version[src]

impl ArchetypeTrait for ArchetypeAnalogue[src]

impl ArchetypeTrait for AttributeAnalogue[src]

impl ArchetypeTrait for DataAnalogue[src]

impl ArchetypeTrait for Flag[src]

type ArchetypeForm = Archetype

type Form = Flag

impl ArchetypeTrait for Imported[src]

impl ArchetypeTrait for IsIndividual[src]

impl ArchetypeTrait for Meta[src]

type ArchetypeForm = Archetype

type Form = Meta

impl ArchetypeTrait for MultiValued[src]

impl ArchetypeTrait for NewlyDefined[src]

impl ArchetypeTrait for Nonhereditary[src]

impl ArchetypeTrait for OwnModule[src]

impl ArchetypeTrait for RootAnalogue[src]

impl ArchetypeTrait for RootArchetypeAnalogue[src]

impl ArchetypeTrait for Unsized[src]

type ArchetypeForm = Archetype

type Form = Unsized

impl ArchetypeTrait for Relation[src]

impl ArchetypeTrait for Tao[src]

type ArchetypeForm = Archetype

type Form = Form

Loading content...