var searchIndex = {}; searchIndex["atom"] = {"doc":"","items":[[4,"Ordering","atom","Atomic memory orderings",null,null],[13,"Relaxed","","No ordering constraints, only atomic operations. Corresponds to LLVM's\n`Monotonic` ordering.",0,null],[13,"Release","","When coupled with a store, all previous writes become visible\nto the other threads that perform a load with `Acquire` ordering\non the same value.",0,null],[13,"Acquire","","When coupled with a load, all subsequent loads will see data\nwritten before a store with `Release` ordering on the same value\nin other threads.",0,null],[13,"AcqRel","","When coupled with a load, uses `Acquire` ordering, and with a store\n`Release` ordering.",0,null],[13,"SeqCst","","Like `AcqRel` with the additional guarantee that all threads see all\nsequentially consistent operations in the same order.",0,null],[3,"Atom","","An Atom wraps an AtomicPtr, it allows for safe mutation of an atomic\ninto common Rust Types.",null,null],[3,"AtomSetOnce","","This is a restricted version of the Atom. It allows for only\n`set_if_none` to be called.",null,null],[8,"IntoRawPtr","","Convert from into a raw pointer",null,null],[10,"into_raw","","",1,null],[8,"FromRawPtr","","Convert from a raw ptr into a pointer",null,null],[10,"from_raw","","",2,null],[11,"fmt","","",3,null],[11,"empty","","Create a empty Atom",3,{"inputs":[],"output":{"name":"atom"}}],[11,"new","","Create a new Atomic from Pointer P",3,{"inputs":[{"name":"p"}],"output":{"name":"atom"}}],[11,"swap","","Swap a new value into the Atom, This will try multiple\ntimes until it succeeds. The old value will be returned.",3,null],[11,"take","","Take the value of the Atom replacing it with null pointer\nReturning the contents. If the contents was a `null` pointer the\nresult will be `None`.",3,null],[11,"set_if_none","","This will do a `CAS` setting the value only if it is NULL\nthis will return `None` if the value was written,\notherwise a `Some(v)` will be returned, where the value was\nthe same value that you passed into this function",3,null],[11,"drop","","",3,null],[11,"fmt","","",4,null],[11,"empty","","Create a empty AtomSetOnce",4,{"inputs":[],"output":{"name":"atomsetonce"}}],[11,"new","","Create a new AtomSetOnce from Pointer P",4,{"inputs":[{"name":"p"}],"output":{"name":"atomsetonce"}}],[11,"set_if_none","","This will do a `CAS` setting the value only if it is NULL\nthis will return `OK(())` if the value was written,\notherwise a `Err(P)` will be returned, where the value was\nthe same value that you passed into this function",4,null],[11,"into_atom","","Convert an AtomSetOnce into an Atom",4,null],[11,"atom","","Allow access to the atom if exclusive access is granted",4,null],[11,"get","","If the Atom is set, get the value",4,null],[11,"get_mut","","If the Atom is set, get the value",4,null],[11,"dup","","Duplicate the inner pointer if it is set",4,null],[11,"fmt","","",0,null],[11,"clone","","",0,null]],"paths":[[4,"Ordering"],[8,"IntoRawPtr"],[8,"FromRawPtr"],[3,"Atom"],[3,"AtomSetOnce"]]}; initSearch(searchIndex);