<html><head> <link rel="stylesheet" href="style.css" type="text/css"> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"> <link rel="Start" href="index.html"> <link title="Index of types" rel=Appendix href="index_types.html"> <link title="Index of exceptions" rel=Appendix href="index_exceptions.html"> <link title="Index of values" rel=Appendix href="index_values.html"> <link title="Index of modules" rel=Appendix href="index_modules.html"> <link title="Index of module types" rel=Appendix href="index_module_types.html"> <link title="Async_print" rel="Chapter" href="Async_print.html"> <link title="Async_sys" rel="Chapter" href="Async_sys.html"> <link title="Epoll_file_descr_watcher" rel="Chapter" href="Epoll_file_descr_watcher.html"> <link title="Fd" rel="Chapter" href="Fd.html"> <link title="Fd_by_descr" rel="Chapter" href="Fd_by_descr.html"> <link title="File_descr_watcher_intf" rel="Chapter" href="File_descr_watcher_intf.html"> <link title="Import" rel="Chapter" href="Import.html"> <link title="Interruptor" rel="Chapter" href="Interruptor.html"> <link title="In_thread" rel="Chapter" href="In_thread.html"> <link title="Io_stats" rel="Chapter" href="Io_stats.html"> <link title="Process" rel="Chapter" href="Process.html"> <link title="Raw_fd" rel="Chapter" href="Raw_fd.html"> <link title="Raw_scheduler" rel="Chapter" href="Raw_scheduler.html"> <link title="Raw_signal_manager" rel="Chapter" href="Raw_signal_manager.html"> <link title="Reader" rel="Chapter" href="Reader.html"> <link title="Read_write" rel="Chapter" href="Read_write.html"> <link title="Scheduler" rel="Chapter" href="Scheduler.html"> <link title="Select_file_descr_watcher" rel="Chapter" href="Select_file_descr_watcher.html"> <link title="Shutdown" rel="Chapter" href="Shutdown.html"> <link title="Signal" rel="Chapter" href="Signal.html"> <link title="Signal_manager" rel="Chapter" href="Signal_manager.html"> <link title="Std" rel="Chapter" href="Std.html"> <link title="Syscall" rel="Chapter" href="Syscall.html"> <link title="Thread_pool" rel="Chapter" href="Thread_pool.html"> <link title="Thread_safe" rel="Chapter" href="Thread_safe.html"> <link title="Thread_safe_pipe" rel="Chapter" href="Thread_safe_pipe.html"> <link title="Unix_syscalls" rel="Chapter" href="Unix_syscalls.html"> <link title="Writer" rel="Chapter" href="Writer.html"><title>Read_write</title> </head> <body> <code class="code"><span class="keyword">sig</span><br> <span class="keyword">module</span> <span class="constructor">Key</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = [ <span class="keywordsign">`</span><span class="constructor">Read</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Write</span> ]<br> <span class="keyword">val</span> flip : <span class="constructor">Read_write</span>.<span class="constructor">Key</span>.t <span class="keywordsign">-></span> <span class="constructor">Read_write</span>.<span class="constructor">Key</span>.t<br> <span class="keyword">val</span> t_of_sexp : <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> <span class="constructor">Read_write</span>.<span class="constructor">Key</span>.t<br> <span class="keyword">val</span> __t_of_sexp__ : <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> <span class="constructor">Read_write</span>.<span class="constructor">Key</span>.t<br> <span class="keyword">val</span> sexp_of_t : <span class="constructor">Read_write</span>.<span class="constructor">Key</span>.t <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">type</span> (<span class="keywordsign">'</span>a, +<span class="keywordsign">'</span>z) any = <span class="keyword">private</span> { <span class="keyword">mutable</span> read : <span class="keywordsign">'</span>a; <span class="keyword">mutable</span> write : <span class="keywordsign">'</span>a; }<br> <span class="keyword">module</span> <span class="constructor">Immutable</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> <span class="keywordsign">'</span>a t = (<span class="keywordsign">'</span>a, <span class="constructor">Core</span>.<span class="constructor">Std</span>.immutable) <span class="constructor">Read_write</span>.any<br> <span class="keyword">val</span> t_of_sexp :<br> (<span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a) <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Read_write</span>.<span class="constructor">Immutable</span>.t<br> <span class="keyword">val</span> sexp_of_t :<br> (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Read_write</span>.<span class="constructor">Immutable</span>.t <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Read_only</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> <span class="keywordsign">'</span>a t = (<span class="keywordsign">'</span>a, <span class="constructor">Core</span>.<span class="constructor">Std</span>.read_only) <span class="constructor">Read_write</span>.any<br> <span class="keyword">val</span> t_of_sexp :<br> (<span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a) <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Read_write</span>.<span class="constructor">Read_only</span>.t<br> <span class="keyword">val</span> sexp_of_t :<br> (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Read_write</span>.<span class="constructor">Read_only</span>.t <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Mutable</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> <span class="keywordsign">'</span>a t = (<span class="keywordsign">'</span>a, <span class="constructor">Core</span>.<span class="constructor">Std</span>.read_write) <span class="constructor">Read_write</span>.any<br> <span class="keyword">val</span> t_of_sexp :<br> (<span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a) <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Read_write</span>.<span class="constructor">Mutable</span>.t<br> <span class="keyword">val</span> sexp_of_t :<br> (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Read_write</span>.<span class="constructor">Mutable</span>.t <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">type</span> <span class="keywordsign">'</span>a t = <span class="keywordsign">'</span>a <span class="constructor">Read_write</span>.<span class="constructor">Immutable</span>.t<br> <span class="keyword">val</span> create : read:<span class="keywordsign">'</span>a <span class="keywordsign">-></span> write:<span class="keywordsign">'</span>a <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Read_write</span>.any<br> <span class="keyword">val</span> createi : (<span class="constructor">Read_write</span>.<span class="constructor">Key</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a) <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Read_write</span>.any<br> <span class="keyword">val</span> create_both : <span class="keywordsign">'</span>a <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Read_write</span>.any<br> <span class="keyword">val</span> create_fn : (unit <span class="keywordsign">-></span> <span class="keywordsign">'</span>a) <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Read_write</span>.any<br> <span class="keyword">val</span> create_with :<br> <span class="constructor">Read_write</span>.<span class="constructor">Key</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> zero:<span class="keywordsign">'</span>a <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Read_write</span>.any<br> <span class="keyword">val</span> copy : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Read_write</span>.any <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>c) <span class="constructor">Read_write</span>.any<br> <span class="keyword">val</span> exists : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Read_write</span>.any <span class="keywordsign">-></span> f:(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> for_all : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Read_write</span>.any <span class="keywordsign">-></span> f:(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> iteri :<br> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Read_write</span>.any <span class="keywordsign">-></span> f:(<span class="constructor">Read_write</span>.<span class="constructor">Key</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> iter : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Read_write</span>.any <span class="keywordsign">-></span> f:(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> mapi :<br> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>c) <span class="constructor">Read_write</span>.any <span class="keywordsign">-></span><br> f:(<span class="constructor">Read_write</span>.<span class="constructor">Key</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> (<span class="keywordsign">'</span>b, <span class="keywordsign">'</span>d) <span class="constructor">Read_write</span>.any<br> <span class="keyword">val</span> map :<br> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>c) <span class="constructor">Read_write</span>.any <span class="keywordsign">-></span> f:(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> (<span class="keywordsign">'</span>b, <span class="keywordsign">'</span>d) <span class="constructor">Read_write</span>.any<br> <span class="keyword">val</span> foldi :<br> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>c) <span class="constructor">Read_write</span>.any <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> f:(<span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="constructor">Read_write</span>.<span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b<br> <span class="keyword">val</span> fold : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>c) <span class="constructor">Read_write</span>.any <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> f:(<span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b<br> <span class="keyword">val</span> get : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Read_write</span>.any <span class="keywordsign">-></span> <span class="constructor">Read_write</span>.<span class="constructor">Key</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br> <span class="keyword">val</span> replace :<br> <span class="keywordsign">'</span>a <span class="constructor">Read_write</span>.<span class="constructor">Mutable</span>.t <span class="keywordsign">-></span> <span class="constructor">Read_write</span>.<span class="constructor">Key</span>.t <span class="keywordsign">-></span> f:(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a) <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> replace_all :<br> <span class="keywordsign">'</span>a <span class="constructor">Read_write</span>.<span class="constructor">Mutable</span>.t <span class="keywordsign">-></span> f:(<span class="constructor">Read_write</span>.<span class="constructor">Key</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a) <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> set : <span class="keywordsign">'</span>a <span class="constructor">Read_write</span>.<span class="constructor">Mutable</span>.t <span class="keywordsign">-></span> <span class="constructor">Read_write</span>.<span class="constructor">Key</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> unit<br> <span class="keyword">module</span> <span class="constructor">Export</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>z) read_write_ =<br> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>z) <span class="constructor">Read_write</span>.any = <span class="keyword">private</span> {<br> <span class="keyword">mutable</span> read : <span class="keywordsign">'</span>a;<br> <span class="keyword">mutable</span> write : <span class="keywordsign">'</span>a;<br> }<br> <span class="keyword">end</span><br> <span class="keyword">val</span> any_of_sexp :<br> (<span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a) <span class="keywordsign">-></span><br> (<span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>z) <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>z) <span class="constructor">Read_write</span>.any<br> <span class="keyword">val</span> sexp_of_any :<br> (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t) <span class="keywordsign">-></span><br> (<span class="keywordsign">'</span>z <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t) <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>z) <span class="constructor">Read_write</span>.any <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t<br> <span class="keyword">val</span> t_of_sexp : (<span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a) <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Read_write</span>.t<br> <span class="keyword">val</span> sexp_of_t : (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Read_write</span>.t <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t<br> <span class="keyword">end</span></code></body></html>