blob: 0f76680464cebb4db2aeae0e83a8dca473a04335 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
-module(myqueue).
-export([new/0, in/2]).
-record(myqueue, {queue = queue:new() :: queue:queue({integer(), _})}).
-opaque myqueue(Item) :: #myqueue{queue :: queue:queue({integer(), Item})}.
-export_type([myqueue/1]).
-spec new() -> myqueue(_).
new() ->
#myqueue{queue=queue:new()}.
-spec in(Item, myqueue(Item)) -> myqueue(Item).
in(Item, #myqueue{queue=Q}) ->
#myqueue{queue=queue:in({1, Item}, Q)}.
|