Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Ephemeron.K1(3)			   OCamldoc		       Ephemeron.K1(3)

NAME
       Ephemeron.K1 - no description

Module
       Module	Ephemeron.K1

Documentation
       Module K1
	: sig end

       type ('k, 'd) t

       an ephemeron with one key

       val create : unit -> ('k, 'd) t

       Ephemeron.K1.create  () creates an ephemeron with one key. The data and
       the key are empty

       val get_key : ('k, 'd) t	-> 'k option

       Ephemeron.K1.get_key eph	returns	None if	the key	of eph is empty,  Some
       x (where	x is the key) if it is full.

       val get_key_copy	: ('k, 'd) t ->	'k option

       Ephemeron.K1.get_key_copy  eph returns None if the key of eph is	empty,
       Some x (where x is a (shallow) copy of the key) if  it  is  full.  This
       function	has the	same GC	friendliness as	Weak.get_copy

       If the element is a custom block	it is not copied.

       val set_key : ('k, 'd) t	-> 'k -> unit

       Ephemeron.K1.set_key  eph  el sets the key of eph to be a (full)	key to
       el

       val unset_key : ('k, 'd)	t -> unit

       Ephemeron.K1.unset_key eph el sets the key of eph to be an  empty  key.
       Since  there is only one	key, the ephemeron starts behaving like	a ref-
       erence on the data.

       val check_key : ('k, 'd)	t -> bool

       Ephemeron.K1.check_key eph returns true if the key of the eph is	 full,
       false  if it is empty. Note that	even if	Ephemeron.K1.check_key eph re-
       turns true , a subsequent Ephemeron.K1.get_key eph can return None .

       val blit_key : ('k, 'a) t -> ('k, 'b) t -> unit

       Ephemeron.K1.blit_key eph1 eph2 sets the	key of eph2 with  the  key  of
       eph1   .	  Contrary   to	  using	  Ephemeron.K1.get_key	 followed   by
       Ephemeron.K1.set_key or Ephemeron.K1.unset_key this function  does  not
       prevent the incremental GC from erasing the value in its	current	cycle.

       val get_data : ('k, 'd) t -> 'd option

       Ephemeron.K1.get_data  eph  returns  None  if the data of eph is	empty,
       Some x (where x is the data) if it is full.

       val get_data_copy : ('k,	'd) t -> 'd option

       Ephemeron.K1.get_data_copy eph returns None  if	the  data  of  eph  is
       empty,  Some x (where x is a (shallow) copy of the data)	if it is full.
       This function has the same GC friendliness as Weak.get_copy

       If the element is a custom block	it is not copied.

       val set_data : ('k, 'd) t -> 'd -> unit

       Ephemeron.K1.set_data eph el sets the data of eph to be a  (full)  data
       to el

       val unset_data :	('k, 'd) t -> unit

       Ephemeron.K1.unset_data	eph el sets the	key of eph to be an empty key.
       The ephemeron starts behaving like a weak pointer.

       val check_data :	('k, 'd) t -> bool

       Ephemeron.K1.check_data eph returns true	if the	data  of  the  eph  is
       full,  false  if	it is empty. Note that even if Ephemeron.K1.check_data
       eph returns true	, a subsequent Ephemeron.K1.get_data  eph  can	return
       None .

       val blit_data : ('a, 'd)	t -> ('b, 'd) t	-> unit

       Ephemeron.K1.blit_data eph1 eph2	sets the data of eph2 with the data of
       eph1  .	 Contrary   to	 using	 Ephemeron.K1.get_data	 followed   by
       Ephemeron.K1.set_data or	Ephemeron.K1.unset_data	this function does not
       prevent the incremental GC from erasing the value in its	current	cycle.

       module Make : functor (H	: Hashtbl.HashedType) -> sig end

       Functor building	an implementation of a weak hash table

       module MakeSeeded : functor (H :	Hashtbl.SeededHashedType) -> sig end

       Functor building	an implementation of a weak hash table.	 The  seed  is
       similar to the one of Hashtbl.MakeSeeded	.

2020-08-11			    source:		       Ephemeron.K1(3)

NAME | Module | Documentation

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Ephemeron.K1&sektion=3o&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help