original_string: public function indexOf(self $str, $offset = 0, MStringComparison $cmp = null){
  		
  		if(!$this->offsetExists($offset)){
  			throw new \OutOfRangeException('$offset is invalid');
  		}
  		
  		if($cmp === null || $cmp->Value === MStringComparison::CASE_SENSITIVE){
  			$index = \mb_strpos($this->_Value, $str->_Value, $offset, $this->_Encoding);
  		}
  		else{
  			$index = \mb_stripos($this->_Value, $str->_Value, $offset, $this->_Encoding);
  		}
  		
  		return $index !== false ? $index : static::NO_INDEX;
  		
  	}
code: public function indexOf(self $str, $offset = 0, MStringComparison $cmp = null){
  		
  		if(!$this->offsetExists($offset)){
  			throw new \OutOfRangeException('$offset is invalid');
  		}
  		
  		if($cmp === null || $cmp->Value === MStringComparison::CASE_SENSITIVE){
  			$index = \mb_strpos($this->_Value, $str->_Value, $offset, $this->_Encoding);
  		}
  		else{
  			$index = \mb_stripos($this->_Value, $str->_Value, $offset, $this->_Encoding);
  		}
  		
  		return $index !== false ? $index : static::NO_INDEX;
  		
  	}
code_tokens: public function indexOf ( self $ str , $ offset = 0 , MStringComparison $ cmp = null ) { if ( ! $ this -> offsetExists ( $ offset ) ) { throw new \ OutOfRangeException ( '$offset is invalid' ) ; } if ( $ cmp === null || $ cmp -> Value === MStringComparison :: CASE_SENSITIVE ) { $ index = \ mb_strpos ( $ this -> _Value , $ str -> _Value , $ offset , $ this -> _Encoding ) ; } else { $ index = \ mb_stripos ( $ this -> _Value , $ str -> _Value , $ offset , $ this -> _Encoding ) ; } return $ index !== false ? $ index : static :: NO_INDEX ; }
docstring: Returns the index of a given string in this string
  @param self $str string to search for
  @param type $offset where to start searching, default is 0
  @param MStringComparison $cmp default is null, case sensitive
  @return int -1 for no index found
docstring_tokens: Returns the index of a given string in this string