package remap // idx returns []int{s.start, s.end}. func (s *stringIndexer) idx() (i []int) { return []int{s.start, s.end} } // idxStrict returns [2]int{s.start, s.end}. func (s *stringIndexer) idxStrict() (i [2]int) { return [2]int{s.start, s.end} } /* idxSlice populates s.grpS using s.start and s.end. If str is nil, it will use s.s. If str is nil and s.s is nil, it will panic with [ErrNoStr]. If the pattern does not match (s.start < 0 or s.end < 0), s.matched will be set to false (otherwise true). */ func (s *stringIndexer) idxSlice(str *string) { if str == nil { if s.s == nil { panic(ErrNoStr) } str = s.s } s.grpS, s.matched = strIdxSlicer(*str, s.idxStrict()) return }