| // Copyright (c) 2015, Emir Pasic. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| package main |
| |
| import cb "github.com/emirpasic/gods/queues/circularbuffer" |
| |
| // CircularBufferExample to demonstrate basic usage of CircularBuffer |
| func main() { |
| queue := cb.New(3) // empty (max size is 3) |
| queue.Enqueue(1) // 1 |
| queue.Enqueue(2) // 1, 2 |
| queue.Enqueue(3) // 1, 2, 3 |
| _ = queue.Values() // 1, 2, 3 |
| queue.Enqueue(3) // 4, 2, 3 |
| _, _ = queue.Peek() // 4,true |
| _, _ = queue.Dequeue() // 4, true |
| _, _ = queue.Dequeue() // 2, true |
| _, _ = queue.Dequeue() // 3, true |
| _, _ = queue.Dequeue() // nil, false (nothing to deque) |
| queue.Enqueue(1) // 1 |
| queue.Clear() // empty |
| queue.Empty() // true |
| _ = queue.Size() // 0 |
| } |