File

teal-src/util/set.d.tl @ 12827:0605d4f03e25

net.server_epoll: Factor out single main loop step into its own function This isn't actually used in Prosody, so no value in complicating the real main loop because of it
author Kim Alvefur <zash@zash.se>
date Fri, 06 Jan 2023 02:31:21 +0100
parent 12617:36d77cc56ecb
line wrap: on
line source

local record lib
	record Set<T>
		add : function<T> (Set<T>, T)
		contains : function<T> (Set<T>, T) : boolean
		contains_set : function<T> (Set<T>, Set<T>) : boolean
		items :  function<T> (Set<T>) : function<T> (Set<T>, T) : T
		add_list : function<T> (Set<T>, { T })
		include : function<T> (Set<T>, Set<T>)
		exclude : function<T> (Set<T>, Set<T>)
		empty : function<T> (Set<T>) : boolean
	end

	new : function<T> ({ T }) : Set<T>
	is_set : function (any) : boolean
	union : function<T> (Set<T>, Set<T>) : Set <T>
	difference : function<T> (Set<T>, Set<T>) : Set <T>
	intersection : function<T> (Set<T>, Set<T>) : Set <T>
	xor : function<T> (Set<T>, Set<T>) : Set <T>
end

return lib