fn ring_children(&self) -> Option<[HexBlock; 6]> {
		use std::mem::{MaybeUninit, transmute};

		if self.is_atom() {
			return None;
		}

		let mut result: [MaybeUninit<HexBlock>; 6] = unsafe { MaybeUninit::uninit().assume_init() };
		for (i, vector) in base_directions(self.size - 1).iter().enumerate() {
			result[i] = MaybeUninit::new(HexBlock {
				center: self.center + *vector,
				size: self.size - 1,
			});
		}
		let result = unsafe { transmute(result) };
		Some(result)
	}
/** Return the 6 child HexBlocks that form the outer ring
	
	Returns None if there are no children.
	*/
Return the 6 child HexBlocks that form the outer ring
Returns None if there are no children.
Return the 6 child HexBlocks that form the outer ring Returns None if there are no children .
fn ring_children(&self) -> Option<[HexBlock; 6]> {
		use std::mem::{MaybeUninit, transmute};
		if self.is_atom() {
			return None;
		}
		let mut result: [MaybeUninit<HexBlock>; 6] = unsafe { MaybeUninit::uninit().assume_init() };
		for (i, vector) in base_directions(self.size - 1).iter().enumerate() {
			result[i] = MaybeUninit::new(HexBlock {
				center: self.center + *vector,
				size: self.size - 1,
			});
		}
		let result = unsafe { transmute(result) };
		Some(result)
	}
fn ring_children ( & self ) -> Option < [ HexBlock ; 6 ] > { use std :: mem :: { MaybeUninit , transmute } ; if self . is_atom ( ) { return None ; } let mut result : [ MaybeUninit < HexBlock > ; 6 ] = unsafe { MaybeUninit :: uninit ( ) . assume_init ( ) } ; for ( i , vector ) in base_directions ( self . size - 1 ) . iter ( ) . enumerate ( ) { result [ i ] = MaybeUninit :: new ( HexBlock { center : self . center + * vector , size : self . size - 1 , } ) ; } let result = unsafe { transmute ( result ) } ; Some ( result ) }
Return the 6 child HexBlocks that form the outer ring
Returns None if there are no children.
Return the 6 child HexBlocks that form the outer ring Returns None if there are no children .
&self
&self