[][src]Crate init_tree

If you have a collection of singletons you need to initialize, and some of those singletons are dependent on handles from other singletons, the InitTree is the structure you need. After implementing the Init trait for all of your singleton types all you need to do is add them to the InitTree, and then call .init() to receive all of your initialized types.

Macros

impl_init

Structs

InitTree

A tree of types to initialize.

InitializedTree

A collection of all the structures after they've been initialized. Call .take::<MyType>() on this to obtain the newly initialized structure.

TypeInitDef

Largely an implementation detail. However you may need to create one of these if you're manually implementing Init.

Constants

MAX_TREE_DEPTH

If your dependency tree goes beyond this many layers deep we'll refuse to initialize it.

Traits

Init

Functions

get_type_names

Here for use in macros. Returns a comma separated string of the type names in this iterator.