Skip to content

Commit da84faf

Browse files
committed
add stack utility
1 parent 765a80e commit da84faf

5 files changed

Lines changed: 29 additions & 4 deletions

File tree

observability/agentsobs/gen_reporter.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

observability/egressobs/gen_reporter.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

observability/gatewayobs/gen_reporter.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

observability/telephonyobs/gen_reporter.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

utils/stack/stack.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package stack
2+
3+
type Stack[T any] []T
4+
5+
func (s Stack[T]) Empty() bool {
6+
return len(s) == 0
7+
}
8+
9+
func (s *Stack[T]) Reset() {
10+
*s = (*s)[:0]
11+
}
12+
13+
func (s *Stack[T]) Push(v T) {
14+
*s = append(*s, v)
15+
}
16+
17+
func (s *Stack[T]) Pop() T {
18+
v := (*s)[len(*s)-1]
19+
*s = (*s)[:len(*s)-1]
20+
return v
21+
}
22+
23+
func (s Stack[T]) Peek() T {
24+
return s[len(s)-1]
25+
}

0 commit comments

Comments
 (0)