[][src]Macro mecs::impl_enum_storage

macro_rules! impl_enum_storage {
    {@ComponentImpl
				$cur_idx: expr,
				$name   : ident,
			} => { ... };
    {@ComponentImpl
				$cur_idx  : expr ,
				$name     : ident,
				
				$variant_name: ident ($variant_type: ty),
				
				$($variant_names: ident ($variant_types: ty),)*
			} => { ... };
    {@ComponentImpl
				$name: ident,
				
				$($variant_name: ident ($variant_type: ty),)*
			} => { ... };
    {@StorageImpl
				// Enum name
				$name: ident,
				
				// Variants
				$(
					$( #[$variant_meta: meta] )*
					$variant_name: ident( $variant_type: ty )
				),*
			} => { ... };
    {
			// Enum declaration
			$( #[$enum_meta:meta] )*
			$vis:vis enum $name:ident
			{
				$(
					$( #[$variant_meta: meta] )*
					$variant_name: ident ( $variant_type: ty )
				),*
				
				$(,)?
			}
		} => { ... };
}

Creates and implements Storage and Component for an enum with all possible component types using an incremental u64 for the id