type sparseEntryPos … type sparseMapPos … // newSparseMapPos returns a sparseMapPos that can map // integers between 0 and n-1 to the pair <int32,src.XPos>. func newSparseMapPos(n int) *sparseMapPos { … } func (s *sparseMapPos) cap() int { … } func (s *sparseMapPos) size() int { … } func (s *sparseMapPos) contains(k ID) bool { … } // get returns the value for key k, or -1 if k does // not appear in the map. func (s *sparseMapPos) get(k ID) int32 { … } func (s *sparseMapPos) set(k ID, v int32, a src.XPos) { … } func (s *sparseMapPos) remove(k ID) { … } func (s *sparseMapPos) clear() { … } func (s *sparseMapPos) contents() []sparseEntryPos { … }