code: func (q *Quadtree) InBoundMatching(b *geo.Bound, f Filter, buf ...[]geo.Pointer) []geo.Pointer {
  	if q.root == nil {
  		return nil
  	}
  
  	var p []geo.Pointer
  	if len(buf) > 0 {
  		p = buf[0][:0]
  	}
  	v := &inBoundVisitor{
  		bound:    b,
  		pointers: p,
  		filter:   f,
  	}
  
  	newVisit(v).Visit(q.root,
  		q.bound.Left(), q.bound.Right(),
  		q.bound.Bottom(), q.bound.Top(),
  	)
  
  	return v.pointers
  }
docs: // InBoundMatching returns a slice with all the pointers in the quadtree that are
  // within the given bound and for which the given filter function returns true.
  // An optional buffer parameter is provided to allow for the reuse of result slice memory.
  // This function is thread safe. Multiple goroutines can read from a pre-created tree.