How fgm/container works
This is a small Go generics library, not a service: callers construct and use type-safe ordered maps, queues, sets, and stacks. The README documents slice, linked-list, and pooling alternatives, plus WaitableQueue’s concurrent, flow-controlled behavior. Sampled code confirms linked-list storage and pooled-node behavior; edges for unsampled implementations rely only on README documentation, so the graph avoids implying internal call chains.
Main entry points: types.go List element · list.go Linked queue · syncpool.go Sync-pool queue · internalpool.go Internal-pool queue
Components 14
Container APIs
- Container interfaces
types.go
Queue Implementations
- Slice queue
queue/slice.go - Linked queue
queue/list.go - Sync-pool queue
queue/syncpool.go - Internal-pool queue
queue/internalpool.go - Waitable queue
queue/waitable_queue.go
Stack Implementations
- Slice stack
stack/slice.go - Linked stack
stack/list.go - Sync-pool stack
stack/syncpool.go - Internal-pool stack
stack/internalpool.go
Other Containers
- Ordered map
orderedmap/slice.go - Map-backed set
set/basic_map.go
Shared Internals
- List element
internal/types.go
Other components
- Go caller
Connections 18
- Go caller → Container interfaces: uses API
README.md - Go caller → Ordered map: constructs and uses
README.md - Go caller → Slice queue: constructs and uses
README.md - Go caller → Linked queue: constructs and uses
README.md - Go caller → Sync-pool queue: constructs and uses
README.md - Go caller → Internal-pool queue: constructs and uses
README.md - Go caller → Waitable queue: constructs and uses
README.md - Go caller → Slice stack: constructs and uses
README.md - Go caller → Linked stack: constructs and uses
README.md - Go caller → Sync-pool stack: constructs and uses
README.md - Go caller → Internal-pool stack: constructs and uses
README.md - Go caller → Map-backed set: constructs and uses
README.md - Linked queue → List element: stores nodes
queue/list.go - Internal-pool queue → List element: pools nodes
queue/internalpool.go - Sync-pool queue → List element: pools nodes
queue/syncpool.go - Linked stack → List element: stores nodes
stack/list.go - Internal-pool stack → List element: pools nodes
stack/internalpool.go - Sync-pool stack → List element: pools nodes
stack/syncpool.go