[][src]Crate pui

A set of process unique identifiers that can be used to identifry types with minimal overhead within a single process

see the Identifier trait for details

features

std (default) - if you have the std feature on, it will supercede the alloc feature. This allows you to use: * std types to implement various traits, for example Box<I> will implemnt Identifier I * thread_local types (from the *_tl) * make_global_reuse (this requires internal locking using a Mutex)

alloc - this allows you to use without pulling in all of std: * alloc types to implement various traits, for example Box<I> will implemnt Identifier I

nightly - this allows you to use: * atomics on no_std targets that don't support 64-bit atomics

Modules

runtime

A runtime checked identifier

scoped

Use lifetimes to guarantee unique identifiers.

typeid

A type based identifier that uses a unique type parameter to assert uniqueness

typeid_tlfeature="std"

A type based identifier that uses a unique type parameter to assert uniqueness

Macros

make_anon_typeid

Create a new typeid::Type that is guaranteed to be unique

make_counter

Create a new type that implements Counter that can be used with Runtime

make_counter_tlfeature="std"

Create a new type that implements Counter that can be used with Runtime which is implemented using a thread-local count

make_global_pool

Create a new type that implements Pool and PoolMut that can be used with Runtime

make_scoped

Create a new scoped identifier with the provided name

make_typeid

Create a new type that can be used with typeid::Type

make_typeid_tlfeature="std"

Create a new type that can be used with typeid_tl::Type

Traits

Identifier

An Identifier is a process unique identifier

Scalar

a type that can be used as the backing type in make_counter an make_counter_tl