public function getRangeType(RangeInterface $range)
    {
        $myStart = $this->range->getComparableStartString();
        $rangeEnd = $range->getComparableEndString();
        if ($myStart > $rangeEnd) {
            $result = null;
        } else {
            $myEnd = $this->range->getComparableEndString();
            $rangeStart = $range->getComparableStartString();
            if ($myEnd < $rangeStart) {
                $result = null;
            } elseif ($rangeStart < $myStart || $rangeEnd > $myEnd) {
                $result = false;
            } else {
                $result = null;
                foreach ($this->exceptions as $exception) {
                    $result = $exception->getRangeType($range);
                    if ($result !== null) {
                        break;
                    }
                }
                if ($result === null) {
                    $result = $this->getType();
                }
            }
        }

        return $result;
    }
public function getRangeType(RangeInterface $range)
    {
        $myStart = $this->range->getComparableStartString();
        $rangeEnd = $range->getComparableEndString();
        if ($myStart > $rangeEnd) {
            $result = null;
        } else {
            $myEnd = $this->range->getComparableEndString();
            $rangeStart = $range->getComparableStartString();
            if ($myEnd < $rangeStart) {
                $result = null;
            } elseif ($rangeStart < $myStart || $rangeEnd > $myEnd) {
                $result = false;
            } else {
                $result = null;
                foreach ($this->exceptions as $exception) {
                    $result = $exception->getRangeType($range);
                    if ($result !== null) {
                        break;
                    }
                }
                if ($result === null) {
                    $result = $this->getType();
                }
            }
        }

        return $result;
    }
public function getRangeType ( RangeInterface $ range ) { $ myStart = $ this -> range -> getComparableStartString ( ) ; $ rangeEnd = $ range -> getComparableEndString ( ) ; if ( $ myStart > $ rangeEnd ) { $ result = null ; } else { $ myEnd = $ this -> range -> getComparableEndString ( ) ; $ rangeStart = $ range -> getComparableStartString ( ) ; if ( $ myEnd < $ rangeStart ) { $ result = null ; } elseif ( $ rangeStart < $ myStart || $ rangeEnd > $ myEnd ) { $ result = false ; } else { $ result = null ; foreach ( $ this -> exceptions as $ exception ) { $ result = $ exception -> getRangeType ( $ range ) ; if ( $ result !== null ) { break ; } } if ( $ result === null ) { $ result = $ this -> getType ( ) ; } } } return $ result ; }
Get the assigned type for a specific address range.

@param \IPLib\Range\RangeInterface $range

@return int|null|false return NULL of the range is fully outside this range; false if it's partly crosses this range (or it contains mixed types); a \IPLib\Range\Type::T_ constant otherwise
Get the assigned type for a specific address range .