src.elv.sh@v0.21.0-dev.0.20240515223629-06979efb9a2a/pkg/md/stack.go (about) 1 package md 2 3 type stack[T any] []T 4 5 func (s *stack[T]) push(v T) { 6 *s = append(*s, v) 7 } 8 9 func (s stack[T]) peek() T { 10 return s[len(s)-1] 11 } 12 13 func (s *stack[T]) pop() T { 14 last := s.peek() 15 *s = (*s)[:len(*s)-1] 16 return last 17 }