public function allowsChild(TemplateInspector $child)
	{
		// Sometimes, a template can technically be allowed as a child but denied as a descendant
		if (!$this->allowsDescendant($child))
		{
			return false;
		}

		foreach ($child->rootBitfields as $rootBitfield)
		{
			foreach ($this->allowChildBitfields as $allowChildBitfield)
			{
				if (!self::match($rootBitfield, $allowChildBitfield))
				{
					return false;
				}
			}
		}

		return ($this->allowsText || !$child->hasRootText);
	}
public function allowsChild(TemplateInspector $child)
	{
		// Sometimes, a template can technically be allowed as a child but denied as a descendant
		if (!$this->allowsDescendant($child))
		{
			return false;
		}

		foreach ($child->rootBitfields as $rootBitfield)
		{
			foreach ($this->allowChildBitfields as $allowChildBitfield)
			{
				if (!self::match($rootBitfield, $allowChildBitfield))
				{
					return false;
				}
			}
		}

		return ($this->allowsText || !$child->hasRootText);
	}
public function allowsChild ( TemplateInspector $ child ) { // Sometimes, a template can technically be allowed as a child but denied as a descendant if ( ! $ this -> allowsDescendant ( $ child ) ) { return false ; } foreach ( $ child -> rootBitfields as $ rootBitfield ) { foreach ( $ this -> allowChildBitfields as $ allowChildBitfield ) { if ( ! self :: match ( $ rootBitfield , $ allowChildBitfield ) ) { return false ; } } } return ( $ this -> allowsText || ! $ child -> hasRootText ) ; }
Return whether this template allows a given child

@param  TemplateInspector $child
@return bool
Return whether this template allows a given child