Annotate

teal-src/util/set.d.tl @ 12763:d26eefe98d09

util.dbuffer: Add efficient shortcuts for discard() in certain cases If the buffer is already empty, nothing to do. If we're throwing away the whole buffer, we can just empty it and avoid read_chunk() (which in turn may collapse()). These shortcuts are much more efficient.
author Matthew Wild <mwild1@gmail.com>
date Tue, 11 Oct 2022 11:37:55 +0100
parent 12617:36d77cc56ecb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12617
36d77cc56ecb util.set: Add teal type declaration file
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 local record lib
36d77cc56ecb util.set: Add teal type declaration file
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2 record Set<T>
36d77cc56ecb util.set: Add teal type declaration file
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 add : function<T> (Set<T>, T)
36d77cc56ecb util.set: Add teal type declaration file
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4 contains : function<T> (Set<T>, T) : boolean
36d77cc56ecb util.set: Add teal type declaration file
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 contains_set : function<T> (Set<T>, Set<T>) : boolean
36d77cc56ecb util.set: Add teal type declaration file
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6 items : function<T> (Set<T>) : function<T> (Set<T>, T) : T
36d77cc56ecb util.set: Add teal type declaration file
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7 add_list : function<T> (Set<T>, { T })
36d77cc56ecb util.set: Add teal type declaration file
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 include : function<T> (Set<T>, Set<T>)
36d77cc56ecb util.set: Add teal type declaration file
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 exclude : function<T> (Set<T>, Set<T>)
36d77cc56ecb util.set: Add teal type declaration file
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 empty : function<T> (Set<T>) : boolean
36d77cc56ecb util.set: Add teal type declaration file
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 end
36d77cc56ecb util.set: Add teal type declaration file
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12
36d77cc56ecb util.set: Add teal type declaration file
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13 new : function<T> ({ T }) : Set<T>
36d77cc56ecb util.set: Add teal type declaration file
Kim Alvefur <zash@zash.se>
parents:
diff changeset
14 is_set : function (any) : boolean
36d77cc56ecb util.set: Add teal type declaration file
Kim Alvefur <zash@zash.se>
parents:
diff changeset
15 union : function<T> (Set<T>, Set<T>) : Set <T>
36d77cc56ecb util.set: Add teal type declaration file
Kim Alvefur <zash@zash.se>
parents:
diff changeset
16 difference : function<T> (Set<T>, Set<T>) : Set <T>
36d77cc56ecb util.set: Add teal type declaration file
Kim Alvefur <zash@zash.se>
parents:
diff changeset
17 intersection : function<T> (Set<T>, Set<T>) : Set <T>
36d77cc56ecb util.set: Add teal type declaration file
Kim Alvefur <zash@zash.se>
parents:
diff changeset
18 xor : function<T> (Set<T>, Set<T>) : Set <T>
36d77cc56ecb util.set: Add teal type declaration file
Kim Alvefur <zash@zash.se>
parents:
diff changeset
19 end
36d77cc56ecb util.set: Add teal type declaration file
Kim Alvefur <zash@zash.se>
parents:
diff changeset
20
36d77cc56ecb util.set: Add teal type declaration file
Kim Alvefur <zash@zash.se>
parents:
diff changeset
21 return lib