File: predef.erl

package info (click to toggle)
erlang 1%3A23.2.6%2Bdfsg-1%2Bdeb11u1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 199,804 kB
  • sloc: erlang: 1,509,787; xml: 412,313; ansic: 393,504; cpp: 51,923; makefile: 18,193; sh: 13,051; lisp: 9,681; java: 8,061; python: 5,195; perl: 4,322; asm: 3,586; pascal: 3,435; javascript: 595; sed: 72; php: 2
file content (67 lines) | stat: -rw-r--r-- 1,248 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
-module(predef).

-export([array/1, dict/1, digraph/1, digraph2/1, gb_set/1, gb_tree/1,
         queue/1, set/1, tid/0, tid2/0]).

-export_type([array/0, digraph/0, gb_set/0]).

%% Since Erlang/OTP 18.0 array() and so on are no longer pre-defined,
%% so there is nothing special about them at all.
-opaque array() :: atom().
-opaque digraph() :: atom().
-opaque gb_set() :: atom().
-type dict() :: atom().
-type gb_tree() :: atom().
-type queue() :: atom().
-type set() :: atom().
-type tid() :: atom().

-spec array(array()) -> array:array().

array(A) ->
    array:relax(A).

-spec dict(dict()) -> dict:dict().

dict(D) ->
    dict:store(1, a, D).

-spec digraph(digraph()) -> [digraph:edge()].

digraph(G) ->
    digraph:edges(G).

-spec digraph2(digraph:graph()) -> [digraph:edge()].

digraph2(G) ->
    digraph:edges(G).

-spec gb_set(gb_set()) -> gb_sets:set().

gb_set(S) ->
    gb_sets:balance(S).

-spec gb_tree(gb_tree()) -> gb_trees:tree().

gb_tree(S) ->
    gb_trees:balance(S).

-spec queue(queue()) -> queue:queue().

queue(Q) ->
    queue:reverse(Q).

-spec set(set()) -> sets:set().

set(S) ->
    sets:union([S]).

-spec tid() -> tid().

tid() ->
    ets:new(tid, []).

-spec tid2() -> ets:tid().

tid2() ->
    ets:new(tid, []).